randrange(start, stop)只接受整数参数。那么如何在两个浮点值之间得到一个随机数呢?
randrange(start, stop)
使用# EYZ0:
>>> import random >>> random.uniform(1.5, 1.9) 1.8733202628557872
random.uniform(a, b)似乎就是你要找的。从文档中可以看出:
random.uniform(a, b)
返回一个随机浮点数N,对于a <= N <= b,对于b <= b <= N <= a;一个。
看到# EYZ0。
如果你想生成一个随机浮点数,在点的右边有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,你可以使用它的等效:
numpy
import numpy as np np.random.uniform(a, b) # range [a, b)
同样,如果您需要另一个发行版,numpy和还有很多其他的提供了与python相同的发行版。
根据我处理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
这两组代码生成随机浮点数。你可以试着用它来得到你想要的。
使用这个函数获取范围n到m之间的随机浮点数:
import random random.uniform(n,m)
如果你想要得到一个随机的浮点数,直到小数点后x位,你可以使用这个代替:
import random round(random.uniform(n, m), x)