random

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

Методы модуля

random.betavariate(alpha, beta)

Бета-распределение. Возвращает числа в диапазоне от 0 до 1. alpha > -1 и beta > -1.

random.choice(iter)

Возвращает случайный элемент из непустой последовательности.

>>> random.choise(['s', 't', 'r'])
'r'
random.cunifvariate(mean, arc)

Круговое равномерное распределение. В аргументе mean передается средний угол, а в аргументе arc – ширина диапазона распределения относительно среднего угла. Оба эти значения должны указываться в радианах, в диапазоне от 0 до pi. Возвращает значения в диапазоне (mean - arc/2, mean + arc/2).

random.expovariate(lambd)

Экспоненциальное распределение. В аргументе lambd передается значение, полученное делением 1.0 на желаемое среднее значение. Возвращает значения в диапазоне [0, +Infinity).

random.gammavariate(alpha, beta)

Гамма-распределение. alpha > -1, beta > 0.

random.gauss(mu, sigma)

Гауссово распределение 1 со средним значением mu и стандартным отклонением sigma. Выполняется немного быстрее, чем функция normalvariate().

random.getrandbits(k)

Создает длинное целое число, состоящее из k случайных битов.

random.getstate()

Возвращает объект, представляющий текущее состояние генератора. Позднее этот объект можно передать функции setstate(), чтобы восстановить состояние генератора.

random.jumpahead(n)

Быстро изменяет состояние генератора, как если бы функция random() была вызвана n раз подряд. Аргумент n должен быть целым неотрицательным числом.

random.lognormvariate(mu, sigma)

Логарифмически нормальное распределение, то есть нормальное распределение логарифмов чисел, со средним значением mu и стандартным отклонением sigma.

random.normalvariate(mu, sigma)

Нормальное распределение со средним значением mu и стандартным отклонением sigma.

random.paretovariate(alpha)

Распределение Парето с параметром формы alpha.

random.randint(a, b)

Возвращает случайное целое число x в диапазоне a <= x <= b.

random.random()

Возвращает случайное вещественное число, находящееся в диапазоне от 0.0 до 1.0

random.randrage(start, stop[, step])

Возвращает случайное целое число, находящееся в диапазоне range(start, stop, step)

random.sample(iter, len)
Параметры:
  • iter – последовательность
  • len (int) – количесвто элементов

Возвращает список случайных элементов последовательности, из указанного количества элементов.

>>> random.sample('string', 2)
['i', 'r']
random.seed([x])

Инициализирует генератор случайных чисел. При вызове без аргумента или со значением None в аргументе x генератор инициализируется значением системного времени. В противном случае, если x является целым или длинным целым числом, используется значение x. Если аргумент x не является целым числом, он должен быть хешируемым объектом, а в качестве инициализирующего значения будет использоваться результат вызова функции hash(x).

random.setstate(state)

Восстанавливает состояние генератора случайных чисел из объекта, полученного в результате вызова функции getstate().

random.shuffle(iter[, random=random()])
Параметры:
  • iter – список
  • random – функция генератор случайных чисел, которая возвращает ччисло с точкой в диапазоне от 0.0 до 1.0

Случайным образом перемешивает элементы списка.

>>> arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> random.shuff1e(arr)
>>> arr
[8, 6, 9, 5, 3, 7, 2, 4, 10, 1]
random.triangular([low[, high[, mode]]])

Треугольное распределение на отрезке [low, high) с модальным значением mode. По умолчанию аргумент low имеет значение 0, high – значение 1.0, а mode – значение посередине между low и high.

random.uniform(a, b)

Возвращает случайное вещественное число, находящееся в диапазоне от a до b

random.vonmisesvariate(mu, kappa)

Распределение фон Мизеса, 1 где mu – средний угол в радианах между 0 и 2 * pi, а kappa – неотрицательный коэффициент концентрации. Если аргумент kappa имеет нулевое значение, распределение фон Мизеса вырождается до равномерного распределения угла в диапазоне от 0 до 2 * pi.

random.weibullvariate(alpha, beta)

Распределение Вейбулла с параметром масштабирования alpha и параметром формы beta.

class random.Random
random()
seed()
getstate()
setstate()
jumphead()
class random.WichmannHill

генератор Уичмана-Хилла

class random.SystemRandom

генерирует случайные числа, используя системный генератор случайных чисел os.urandom()