【问题标题】:Is there a way to make randint() less pseudo and more random? [closed]有没有办法让 randint() 更少伪且更随机? [关闭]
【发布时间】:2019-05-08 15:58:53
【问题描述】:

我正在开发一个彩票模拟器,我对 randint 生成的抽奖并不满意。

有没有什么技巧可以让它更随机?

【问题讨论】:

  • 你是如何确定它不够随机的?
  • 我希望它尽可能随机。
  • 大多数非统计学家对随机数据的直觉是错误的。
  • Python 使用 Mersenne twister 生成器,该生成器被认为具有良好的随机属性,可用于非加密用途。您需要解释您遇到的问题。
  • 还要确保避免过度播种或从小池中播种。因为 Python 3 rand.seed(None) 将尽可能使用操作系统随机熵。

标签: python random


【解决方案1】:

没有。

这是因为randint()假定是伪随机的 - 它以及整个 random 模块都将其作为其全部目的。

如果您想要加密安全的随机性,不妨查看secrets 模块:

secrets 模块用于生成加密强随机数,适用于管理密码、帐户身份验证、安全令牌和相关机密等数据。

特别是,secrets 应优先于 random 模块中的默认伪随机数生成器使用,后者是为建模和模拟而设计的,而不是安全或密码学。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-26
    • 1970-01-01
    • 2015-08-13
    • 2013-05-26
    • 2020-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多