Randrange (start, stop)只接受整数参数。那么如何在两个浮点值之间得到一个随机数呢?


当前回答

如果你想生成一个随机浮点数,在点的右边有N个数字,你可以这样做:

round(random.uniform(1,2), N)

第二个参数是小数的个数。

其他回答

最常见的,你会使用:

import random
random.uniform(a, b) # range [a, b) or [a, b] depending on floating-point rounding

如果需要,Python还提供其他发行版。

如果你已经导入了numpy,你可以使用它的对等物:

import numpy as np
np.random.uniform(a, b) # range [a, b)

同样,如果您需要另一个发行版,numpy提供了与python相同的发行版,以及许多额外的发行版。

使用这个函数获取范围n到m之间的随机浮点数:

import random
random.uniform(n,m)  

如果你想要得到一个随机的浮点数,直到小数点后x位,你可以使用这个代替:

import random
round(random.uniform(n, m), x)

随机的。制服(a, b)似乎就是你要找的。从文档中可以看出:

返回一个随机浮点数N,使a <= N <= b时a <= N <= b, b <= N <= a时b <= a。

在这里看到的。

使用随机的。制服(a, b):

>>> import random
>>> random.uniform(1.5, 1.9)
1.8733202628557872

根据我处理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

这两组代码生成随机浮点数。你可以试着用它来得到你想要的。