Python Glossary English

Python 3.6+secretsфункция

secrets.randbelow()

случайные числа

Возвращает криптографически стойкое случайное целое из диапазона [0, n) — n не включается.

Синтаксис

secrets.randbelow(exclusive_upper_bound) -> int

Верхняя граница не входит, как у range(), в отличие от random.randint(a, b), где включены обе. Нижней границы задать нельзя: для [a, b] пишут a + randbelow(b - a + 1). При n <= 0 будет ValueError. Подходит для одноразовых кодов: f'{secrets.randbelow(10**6):06d}'.

Примеры

import secrets
n = secrets.randbelow(10)
print(0 <= n < 10)  # → True
code = f'{secrets.randbelow(10**6):06d}'
print(len(code))  # → 6
secrets.randbelow(0)  # → ValueError: Upper bound must be positive.

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности