randrange(start, stop)
只接受整数参数。那么如何在两个浮点值之间得到一个随机数呢?
答案 0 :(得分:535)
>>> random.uniform(1.5, 1.9)
1.8733202628557872
答案 1 :(得分:62)
random.uniform(a, b)
似乎就是你要找的东西。来自文档:
返回随机浮点数N,使得&lt; = N&lt; = b,a&lt; = b,b&lt; = N&lt; = a,b <&lt;一个。
请参阅here。
答案 2 :(得分:20)
如果你想在点的右边生成一个N位数的随机浮点数,你可以这样做:
round(random.uniform(1,2), N)
第二个参数是小数位数。
答案 3 :(得分:6)
通常,您会使用:
import random
random.uniform(a, b) # range [a, b) or [a, b] depending on floating-point rounding
如果需要,Python提供other distributions。
如果您已经导入了numpy
,则可以使用其等效项:
import numpy as np
np.random.uniform(a, b) # range [a, b)
同样,如果您需要其他发行版,numpy
提供与python以及many additional ones相同的发行版。
答案 4 :(得分:1)
根据我处理python的经验,我只能说随机函数可以帮助生成随机浮点数。以下面的例子为例;
import random
# Random float number between range 15.5 to 80.5
print(random.uniform(15.5, 80.5))
# between 10 and 100
print(random.uniform(10, 100))
The random.uniform() function returns a random floating-point number between a given range in Python
两组代码生成随机浮点数。你可以尝试用它来给你想要的东西。