python的random.random()方法和random.uniform()方法有什么区别?
random.random()的结果不是均匀分布的吗?
import random
print(random.random() * 10)
print(random.uniform(0,10))发布于 2016-03-09 02:25:22
这是来自random.uniform模块的random.py的定义:
def uniform(self, a, b):
return a + (b-a) * self.random()所以,是的,是相同的分布。
发布于 2016-03-09 02:20:52
根据文档,random.random()在[0,1.0]范围内返回一个数字,当random.uniform(a,b)返回a,b或[a,b)范围内的数字时,这取决于方程a + (b-a) * random()中的浮点舍入。
因此,print(random.random() * 10)和print(random.uniform(0,10))都可以给出相同的发行版。
https://stackoverflow.com/questions/35881702
复制相似问题