Документация
Уроки Открыть IDE
На главную
Урок 10

Случайные числа

Как добавить в программу элемент неожиданности

Подключение библиотеки random

Для работы со случайными числами необходимо подключить библиотеку random:

После этого все функции из этой библиотеки вызываются по схеме: random.название(аргументы).

Случайное целое число: random.create_int()

Функция random.create_int(min, max) возвращает случайное целое число в диапазоне от min до max включительно:

Пример использования:

42 78 15

Каждый запуск программы будет давать новую тройку чисел.

Случайное дробное число: random.create_float()

Функция random.create_float(min, max) генерирует случайное число типа float в диапазоне от min до max включительно:

Пример:

F = 2.8374629104857392 G = 2.1295837461029384

Как и в Python или JavaScript, числа генерируются с высокой точностью — до 15–16 знаков после точки.

Округление случайного числа

Если знаков после точки слишком много, можно округлить число с помощью функций из библиотеки math:

Сырое случайное число: 7.938472635192847 Округлено до 3 знаков: 7.938

Случайный символ из строки

Функция random.choose_from() выбирает случайный символ из строки:

Случайный символ из S: D

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

Псевдослучайность и сиды

Компьютер не умеет генерировать по-настоящему случайные числа — только псевдослучайные. Это такие числа, которые выглядят случайными, но на самом деле полностью определяются начальным значением, называемым сидом (англ. seed).

Если задать один и тот же сид, последовательность будет повторяться:

83 86 77 83 86 77 83 86 77

Как видите, при сиде 0 всегда генерируется одна и та же последовательность. Это полезно для отладки и воспроизводимых экспериментов

Например, в Minecraft есть известный эксплойт RANDAR, основанный на предсказуемости генератора мира — и он работает именно потому, что мир строится на основе сида.

Смена сида — смена последовательности

В Idyllium сид генератора псевдослучайных чисел задаётся функцией random.set_seed():

83 86 77 95 11 22

Сид 0 → последовательность 83, 86, 77...

Сид 400 → новая последовательность: 95, 11, 22...

Важное предупреждение

Библиотека random в Idyllium предназначена для разработки игр, симуляций и учебных проектов. Она не подходит для задач, где важна криптографическая надёжность — например, генерация паролей, токенов безопасности или алгоритмов шифрования.

Для криптографической надёжности используются специализированные генераторы, основанные на физических источниках случайности: к таким относятся шумы из атмосферы, радиоактивный распад, тепловые явления и др.

Но для броска кубика, случайного выбора карты или генерации макета лабиринта — возможностей библиотеки random в Idyllium будет достаточно.