1 Вопрос: Есть ли способ сделать randint () менее псевдо и более случайным? [закрыто]

вопрос создан в Wed, May 8, 2019 12:00 AM

Я работаю над симулятором лотереи и не очень доволен розыгрышами, генерируемыми randint.

Есть ли уловки, чтобы сделать его более случайным?

    
- 4
  1. Как вы решили, что это не достаточно случайно?
    2019-05-08 16: 00: 37Z
  2. Я ожидаю, что это будет настолько случайно, насколько это будет возможно в ОС.
    2019-05-08 16: 00: 48Z
  3. Большинство не статистиков имеют неверную интуицию относительно случайных данных.
    2019-05-08 16: 01: 34Z
  4. Python использует генератор твистеров Мерсенна, который, как считается, имеет хорошие случайные свойства для не криптографических применений. Вам нужно объяснить, с чем вы столкнулись.
    2019-05-08 16: 01: 51Z
  5. Также убедитесь, что во избежание переполнения или заполнения из небольшого пула .. поскольку Python 3 rand.seed (None) будет использовать случайную ставку ОС, если это возможно .
    2019-05-08 16: 04: 40Z
1 ответ                              1                         

Нет.

Это потому, что randint() должен быть псевдослучайным - он и весь модуль random имеют это в качестве своей цели.

Если вам нужна криптографически безопасная случайность, возможно, загляните в secrets модуль вместо:

  

secrets используется для создания криптографически стойких случайные числа, подходящие для управления данными, такими как пароли, аутентификация учетной записи, токены безопасности и связанные секреты.

     

В частности, secrets следует использовать в предпочтении в генератор псевдослучайных чисел по умолчанию в модуле random , который предназначен для моделирования и симуляции, а не безопасности или криптографии.

    
4
2019-05-08 16: 01: 32Z
источник размещен Вот