Как сгенерировать число n-бит в длину с помощью python? [дубликат]

этот вопрос уже есть ответ здесь:

глядя на различные случайные функции в стандартной библиотеке нет способа генерировать числа n-бит длина длинные.

есть ли эффективные функция, которую я могу использовать для этого?

2 ответов


>>> import random
>>> random.getrandbits(10)
688L

Да есть такое:

>>> import random
>>> random.getrandbits(1)
0L
>>> random.getrandbits(100)
31456252575598781139680104123L
>>> help(random.getrandbits)
Help on built-in function getrandbits:

getrandbits(...)
    getrandbits(k) -> x.  Generates a long int with k random bits.

документы:

случайные.getrandbits (k)
Возвращает python long int с k случайные биты. Этот метод поставляется с генератором MersenneTwister, и некоторые другие генераторы также могут предоставить его в качестве дополнительной части API. При наличии getrandbits() позволяет randrange() для обработки произвольно больших диапазонов.