Перейти к содержанию

Случайность и удача: модуль random

Начало урока

Случайность и удача: модуль random

Научите свои программы бросать кости, подбрасывать монетку и удивлять вас

Главная идея: Модуль random — это встроенный в Python набор инструментов для непредсказуемого выбора. Одной строкой import random ваши программы смогут бросить кость, подбросить монетку, перемешать колоду карт или загадать секретное число для игры в угадайку.
К концу вы сможете:
  • подключить набор инструментов с помощью import random,
  • получить целое число с помощью random.randint(a, b),
  • выбрать один элемент из списка с помощью random.choice(seq),
  • перемешать список с помощью random.shuffle(list),
  • получить дробное число от 0 до 1 с помощью random.random(),
  • с их помощью сделать кости, подброс монетки, вытягивание карт и игру в угадайку.

1. Зачем программам случайность?

Компьютеры знамениты тем, что каждый раз делают одно и то же. Для калькулятора это прекрасно, но для игры — скучно. Игра в кости, где кость всегда показывает 4, совсем не интересна!

Модуль random добавляет вашим программам щепотку неожиданности. Представьте мешок с пронумерованными шариками для пинг-понга: вы не глядя опускаете руку и достаёте один. Вы не можете предсказать, какой вам попадётся, — и в этом весь смысл.

Поскольку random встроен в Python (он часть стандартной библиотеки, с которой вы уже знакомы), ничего устанавливать не нужно. Достаточно одолжить его одной строкой в начале программы:

import random

После этой строки каждый инструмент живёт за словом random и точкой. Поэтому вы пишете random.randint(...), random.choice(...) и так далее. Точка означает «загляни в набор random и возьми этот инструмент».

Продолжите этот урок на YourAIZone

В полном уроке — объяснение целиком, разобранные примеры, частые ошибки, тесты с мгновенной проверкой и ИИ-репетитор. Начните сразу как гость или создайте аккаунт, чтобы сохранять прогресс.

В полном уроке

  • Объяснение целиком
  • Разобранные примеры
  • Частые ошибки и как их избежать
  • Тестовые вопросы: 15
  • ИИ-репетитор, который отвечает на вопросы по теме
  • Отслеживание прогресса для ученика, родителей и учителя