仍在试图弄清楚 Python 中是否有一个函数可以通过 step 获取随机浮点值?类似于 randrange(start, stop, step) 但用于浮点数。
问问题
4945 次
2 回答
8
import random
def randrange_float(start, stop, step):
return random.randint(0, int((stop - start) / step)) * step + start
randrange_float(2.1, 4.2, 0.3) # returns 2.4
于 2012-08-14T09:15:34.000 回答
1
只需乘以一些适当的常数以获得整数并反转结果的操作。
start = 1.5
stop = 4.5
step = 0.3
precision = 0.1
f = 1 / precision
random.randrange(start*f, stop*f, step*f)/f
于 2012-08-14T09:21:40.453 回答