如何在Python中使用step获得随机浮点数

问题描述 投票:0回答:2

还在想知道Python中是否有一个函数可以用step获取随机浮点值?与

randrange(start, stop, step)
类似,但用于浮动。

python random floating-point
2个回答
10
投票
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

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
© www.soinside.com 2019 - 2024. All rights reserved.