Python Glossary English

все Python 3randomфункция

random.expovariate

распределения

Случайное число из экспоненциального распределения с интенсивностью lambd; результат всегда неотрицателен.

Синтаксис

random.expovariate(lambd=1.0)

lambd — это интенсивность, то есть единица, делённая на желаемое среднее: чтобы интервалы получались со средним 5, надо передать 0.2, а не 5. Подмена интенсивности средним — самая частая ошибка при моделировании очередей и времени между событиями. Нулевой lambd недопустим, отрицательный зеркалит выдачу в отрицательные числа, а вызов вообще без аргумента работает только начиная с Python 3.12.

Примеры

import random
print(random.expovariate(1.0) >= 0.0)   # → True
print(round(sum(random.expovariate(2.0) for _ in range(10000)) / 10000, 1))   # → 0.5
print(random.expovariate(1000.0) < 1.0)   # → True
print(random.expovariate(0.0))   # → ZeroDivisionError
# Python 3.12+
import random
print(type(random.expovariate()).__name__)   # → float

См. также

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

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