0到1之间的随机数?

新手上路,请多包涵

我想要一个介于 0 和 1 之间的随机数,例如 0.3452。我使用了 random.randrange(0, 1) 但对我来说它始终为 0。我应该怎么办?

原文由 Talia 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 223
2 个回答

您可以使用 random.uniform

 import random
random.uniform(0, 1)

原文由 jh314 发布,翻译遵循 CC BY-SA 3.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 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题