我想要一个介于 0 和 1 之间的随机数,例如 0.3452。我使用了 random.randrange(0, 1)
但对我来说它始终为 0。我应该怎么办?
原文由 Talia 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想要一个介于 0 和 1 之间的随机数,例如 0.3452。我使用了 random.randrange(0, 1)
但对我来说它始终为 0。我应该怎么办?
原文由 Talia 发布,翻译遵循 CC BY-SA 4.0 许可协议
random.random()
正是这样做的
>>> import random
>>> for i in range(10):
... print(random.random())
...
0.908047338626
0.0199900075962
0.904058545833
0.321508119045
0.657086320195
0.714084413092
0.315924955063
0.696965958019
0.93824013683
0.484207425759
如果你想要 真正 的随机数,并覆盖 [0, 1] 范围:
>>> import os
>>> int.from_bytes(os.urandom(8), byteorder="big") / ((1 << 64) - 1)
0.7409674234050893
原文由 John La Rooy 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1k 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
4 回答3k 阅读
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
您可以使用
random.uniform