7

ステップでランダムな float 値を取得する関数が Python にあるかどうかまだ調べようとしていますか? randrange(start, stop, step) に似ていますが、フロート用です。

4

2 に答える 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 に答える