Модуль random в Python використовується для операцій, де потрібне отримання випадкових чисел (значень). Наприклад:

  • генерація випадкових чисел
  • вибір випадкових елементів зі списку (або іншої послідовності)
  • змішування елементів списку (або іншої послідовності)

Опис деяких функцій та приклади використання random

Генерація випадкового числа з плаваючою крапкою в діапазоні (0.0, 1.0):

import random

print(random.random())

# 0.15972710280422675

Генерація випадкового цілого числа з визначеного діапазону:

import random

print(random.randint(1, 100))

# 28

Вибір випадкового елемента зі списку (або іншої послідовності):

import random

my_list = ['яблуко', 'банан', 'вишня']
print(random.choice(my_list))

# яблуко

Перемішати елементи списку (або іншої послідовності):

import random

my_list = [1, 2, 3, 4, 5]
random.shuffle(my_list)
print(my_list)

# [4, 1, 3, 2, 5]

Вибрати n унікальних елементів зі списку (або іншої послідовності):

import random

my_list = ['a', 'b', 'c', 'd', 'e']
print(random.sample(my_list, 3))

# ['c', 'b', 'd']

Методи getstate() та setstate()

Методи getstate() та setstate() дозволяють отримати стан генератора, а також встановити його у певний стан. Це може бути корисним, коли потрібно відтворити послідовність випадкових чисел у майбутньому, що можна досягти за рахунок збереження стану генератора у певній точці та його відновлення пізніше:

import random

init_state = random.getstate()
print(random.random())
print(random.random())

random.setstate(init_state)
print(random.random())

В цьому прикладі:

  • спочатку отримано початковий стан генератору
  • виконано дві операції генерації чисел з плаваючою крапкою
  • генератору встановлено початковий стан та виконано ще одну операцію random()

Результатом виконання програми буде:

0.018618787260863634
0.0731408276621831
0.018618787260863634

Сторінка документації модуля python random, де можна побачити більш просунуті приклади використання можливостей цього модуля:

Python module random documentation


Мітки: