tak.lol
29 январь 2025
6
0
Не нравится 0 Нравится

Модуль random

Использование случайных чисел и выборок в Python открывает новые горизонты для разработки интерактивных приложений, игр и симуляций, позволяя создавать уникальный и непредсказуемый пользовательский опыт

Модуль random

Давай поговорим о модуле random в Python. Этот модуль может показаться простым, но он скрывает в себе множество интересных возможностей, которые могут сделать твою жизнь программиста гораздо веселее (и, возможно, даже немного более случайной). Итак, запасайся попкорном, мы начинаем!



Что такое модуль random?


Модуль random — это встроенный модуль в Python, который позволяет генерировать случайные числа и выполнять случайные выборки. Он полезен для игр, симуляций и даже для создания паролей (но об этом позже). Важно помнить, что генерация случайных чисел в компьютерах на самом деле не такая уж и случайная — это псевдослучайные числа, основанные на алгоритмах. Но не переживай, они всё равно достаточно случайны для большинства задач!



Основные функции модуля random


Давай рассмотрим несколько основных функций этого модуля. Мы начнем с самых простых.



random.random()


Эта функция возвращает случайное число с плавающей запятой в диапазоне от 0.0 до 1.0. Вот пример:



import random

#Генерируем случайное число

случайное_число = random.random()
print(f'Случайное число: {случайное_число}')

Каждый раз, когда ты запускаешь этот код, ты получаешь новое число. Это как лотерея, только без шансов выиграть миллион!



random.randrange()


random.randrange() — это функция из модуля random в Python, которая возвращает случайное целое число из заданного диапазона. Эта функция позволяет задать начальное значение (включительно), конечное значение (исключительно) и шаг, с которым будут генерироваться числа.

Синтаксис:
random.randrange(start, stop[, step])



• start: (опционально) начальное значение диапазона (включительно). По умолчанию равно 0.
• stop: конечное значение диапазона (исключительно).
• step: (опционально) шаг, с которым будут генерироваться числа. По умолчанию равно 1.

Пример:
import random

# Генерация случайного числа от 0 до 10 (исключительно)
random_number = random.randrange(0, 10)
print(random_number)

# Генерация случайного четного числа от 0 до 20 (исключительно)
even_number = random.randrange(0, 20, 2)
print(even_number)


random.randint(a, b)


Если ты хочешь получить целое число в заданном диапазоне, используй random.randint(a, b). Эта функция возвращает случайное целое число N такое, что a <= N <= b.



#Генерируем случайное целое число от 1 до 10

случайное_целое = random.randint(1, 10)
print(f'Случайное целое число от 1 до 10: {случайное_целое}')

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



random.choice(sequence)


Теперь давай поговорим о том, как выбрать случайный элемент из последовательности. Для этого существует функция random.choice(). Например:



#Список фруктов

фрукты = ['яблоко', 'банан', 'вишня', 'киви']

#Выбираем случайный фрукт

случайный_фрукт = random.choice(фрукты)
print(f'Случайный фрукт: {случайный_фрукт}')

Это может быть полезно для создания случайного меню или выбора персонажа в игре. Но будь осторожен — если ты выберешь "киви", возможно, кто-то снова начнет спорить о том, является ли это фруктом или овощем!



Случайные выборки и перемешивание


Модуль random также предоставляет функции для перемешивания списков и выборки нескольких элементов.



random.shuffle(x)


random.shuffle(x) перемешивает элементы списка на месте. Это может быть полезно для создания случайных последовательностей.



#Перемешиваем список

карты = ['Туз', 'Двойка', 'Тройка', 'Четверка']
random.shuffle(карты)
print(f'Перемешанные карты: {карты}')

Теперь твои карты выглядят как после хорошей вечеринки! Главное — не забыть, где ты их положил.



random.sample(population, k)


Функция random.sample(population, k) позволяет выбрать k уникальных элементов из заданной последовательности. Например:



#Выбираем 2 уникальных фрукта

выборка = random.sample(фрукты, 2)
print(f'Случайная выборка фруктов: {выборка}')

Это похоже на то, как ты выбираешь друзей для игры в настольные игры — всегда выбирай только лучших!



Интересные факты о случайности


Знаешь ли ты, что некоторые учёные утверждают, что настоящая случайность не существует? Все эти числа зависят от начального значения (или seed). Так что если ты установишь одно и то же начальное значение с помощью функции random.seed(), ты получишь ту же последовательность случайных чисел каждый раз!



#Устанавливаем начальное значение

random.seed(42)
print(random.random())
print(random.random())

Каждый раз при запуске этого кода ты получишь одинаковые "случайные" числа. Это может быть полезно для тестирования, но не говори об этом своим друзьям во время игры — они могут заподозрить тебя в жульничестве!



Заключение


Теперь ты знаешь основы работы с модулем random. Используй его умело и помни: даже если мир вокруг тебя может казаться хаотичным, с помощью Python ты всегда сможешь добавить немного случайности (или же организованного хаоса) в свою жизнь. Удачи в программировании!



Задания для закрепления материала


Задача 1: Генерация случайного числа
Напиши программу, которая генерирует случайное число от 1 до 100 и выводит его на экран. Попроси пользователя угадать это число и сообщи, правильно ли он угадал.

Задача 2: Случайный выбор из списка
Создай список из 5 различных цветов. Напиши код, который случайным образом выбирает один цвет из этого списка и выводит его на экран.

Задача 3: Перемешивание карточек
Составь список из 10 карточек с разными значениями (например, от 1 до 10). Используй функцию random.shuffle() для перемешивания карточек и выведи перемешанный список на экран.

Задача 4: Случайная выборка пользователей
Создай список из 8 имён пользователей. Напиши программу, которая выбирает случайные 3 имени из этого списка и выводит их на экран, используя функцию random.sample().

Задача 5: Игра в угадай число
Напиши игру, в которой программа генерирует случайное число от 1 до 50. Пользователь должен угадать это число, а программа будет давать подсказки: "больше" или "меньше", пока пользователь не угадает число.
Комментарии к материалу
Комментировать
Ваш комментарий: