Python的random()函数有多准确?
假设我想根据1 / 234276901
概率硬币翻转做出决定,我还可以使用
if random() < 1. / 234276901:
语句?
这种说法有多准确? (根据实际概率而定)。
是否有更精确(但在合理时间内运行)的方式来获得这样的硬币翻转?
答案 0 :(得分:0)
如果你想获得1/234276901的硬币翻转,请像这样使用random.random()
:
>>> floor(random.random() * 234276901)
因为random()
给出0到1之间的实数值,我们应该将它乘以你的最大值以拉伸间隔而不是舍入值以将它们转换为整数。
您还可以使用random.randint()
:
>>> random.randint(1,234276901)