Подключение библиотеки random
Для работы со случайными числами необходимо подключить библиотеку random:
После этого все функции из этой библиотеки вызываются по схеме: random.название(аргументы).
Случайное целое число: random.create_int()
Функция random.create_int(min, max) возвращает случайное целое число в диапазоне от min до max включительно:
Пример использования:
Каждый запуск программы будет давать новую тройку чисел.
Случайное дробное число: random.create_float()
Функция random.create_float(min, max) генерирует случайное число типа float в диапазоне от min до max включительно:
Пример:
Как и в Python или JavaScript, числа генерируются с высокой точностью — до 15–16 знаков после точки.
Округление случайного числа
Если знаков после точки слишком много, можно округлить число с помощью функций из библиотеки math:
Случайный символ из строки
Функция random.choose_from() выбирает случайный символ из строки:
Эта функция также работает с массивами — об этом мы поговорим позже, когда изучим массивы подробнее.
Псевдослучайность и сиды
Компьютер не умеет генерировать по-настоящему случайные числа — только псевдослучайные. Это такие числа, которые выглядят случайными, но на самом деле полностью определяются начальным значением, называемым сидом (англ. seed).
Если задать один и тот же сид, последовательность будет повторяться:
Как видите, при сиде 0 всегда генерируется одна и та же последовательность. Это полезно для отладки и воспроизводимых экспериментов
Например, в Minecraft есть известный эксплойт RANDAR, основанный на предсказуемости генератора мира — и он работает именно потому, что мир строится на основе сида.
Смена сида — смена последовательности
В Idyllium сид генератора псевдослучайных чисел задаётся функцией random.set_seed():
Сид 0 → последовательность 83, 86, 77...
Сид 400 → новая последовательность: 95, 11, 22...
Важное предупреждение
Библиотека random в Idyllium предназначена для разработки игр, симуляций и учебных проектов. Она не подходит для задач, где важна криптографическая надёжность — например, генерация паролей, токенов безопасности или алгоритмов шифрования.
Для криптографической надёжности используются специализированные генераторы, основанные на физических источниках случайности: к таким относятся шумы из атмосферы, радиоактивный распад, тепловые явления и др.
Но для броска кубика, случайного выбора карты или генерации макета лабиринта — возможностей библиотеки random в Idyllium будет достаточно.