Python Glossary English

все Python 3randomпонятие

random.gauss

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

Возвращает случайное число из нормального (гауссова) распределения с параметрами mu (среднее) и sigma (ст. отклонение).

Синтаксис

random.gauss(mu=0.0, sigma=1.0)

Скорость достигается кешем: один вызов считает сразу пару значений и отдаёт второе при следующем обращении, поэтому два потока способны получить одно и то же число. В многопоточном коде берут normalvariate или отдельный экземпляр random.Random на поток. Значения ничем не ограничены — примерно 0.3% выходят за mu ± 3*sigma, так что для заведомо неотрицательных величин (рост, время) обрезка снизу исказит распределение сильнее, чем повторная генерация.

Примеры

import random
random.seed(42)  # зерно задано — числа воспроизводимы
print(random.gauss(0, 1))    # → -0.14409032957792836 — стандартное нормальное
print(random.gauss(100, 15)) # → 97.40644599502721
results = [random.gauss(0, 1) for _ in range(1000)]
print(round(sum(results) / len(results), 2))  # → -0.02 — среднее близко к 0
print(round((sum(x**2 for x in results) / len(results)) ** 0.5, 2))  # → 1.02 — разброс близок к 1

См. также

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