在 python 中,random 模块有什么区别random.uniform()
and random.random()
?它们都生成伪随机数,random.uniform()
从均匀分布生成数字并random.random()
生成下一个随机数。有什么不同?
random.random()
给你一个范围内的随机浮点数[0.0, 1.0)
(所以包括0.0
,但不包括1.0
这也称为半开放范围)。random.uniform(a, b)
给你一个范围内的随机浮点数[a, b]
,(四舍五入可能最终会给你b
).
The 实施random.uniform() https://hg.python.org/cpython/file/376c2d81d0e2/Lib/random.py#l356 uses random.random()
直接地:
def uniform(self, a, b):
"Get a random number in the range [a, b) or [a, b] depending on rounding."
return a + (b-a) * self.random()
random.uniform(0, 1)
基本上是一样的random.random()
(as 1.0
times 最接近的浮点值1.0
还是会给你最接近的浮点值1.0
那里不可能出现舍入错误)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)