Генерация списка случайных чисел в Python

Генерация списка случайных чисел в Python без использования сторонних библиотек

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

Создание списка случайных чисел

Использование модуля random

В Python есть встроенный модуль random, который предоставляет различные функции для генерации случайных чисел. Например, функция random.randint(a, b) возвращает случайное целое число N такое, что a <= N <= b. Давайте создадим список из 10 случайных чисел от 1 до 100:

import random

random_numbers = [random.randint(1, 100) for _ in range(10)]
print(random_numbers)

#[3, 97, 55, 24, 93, 55, 37, 79, 34, 26]

В этом коде используется генератор списка (list comprehension), который является эффективным способом создания списков в Python.

Генерация случайных чисел с плавающей точкой

Если вам нужны случайные числа с плавающей точкой, вы можете использовать функцию random.random(), которая возвращает случайное число с плавающей точкой в диапазоне [0.0, 1.0):

import random

random_numbers = [random.random() for _ in range(10)]
print(random_numbers)

#[0.8375207696275851, 0.3026754355737623, 0.1631871876952269, 0.6965208540456371, 0.7110888826698535, 0.9494453469848696, 0.8957220712774575, 0.8717226318039731, 0.4803654688771263, 0.21604040401184865]

Генерация уникальных случайных чисел

Если вам нужно создать список уникальных случайных чисел, вы можете использовать функцию random.sample(). Эта функция возвращает список уникальных элементов, выбранных из заданной последовательности или множества.

import random

random_numbers = random.sample(range(1, 101), 10)
print(random_numbers)

#[64, 91, 63, 41, 49, 78, 27, 73, 40, 60]

В этом коде range(1, 101) создает последовательность чисел от 1 до 100, а 10 — это количество чисел, которые нужно выбрать.

Создание псевдослучайных чисел

Все функции в модуле random генерируют псевдослучайные числа на основе некоторого начального числа, известного как «семя» (seed). Если вы установите семя перед генерацией случайных чисел, вы всегда будете получать одну и ту же последовательность чисел. Это может быть полезно для повторяемости результатов в научных исследованиях и при тестировании программ.

import random

random.seed(1)

random_numbers = [random.randint(1, 100) for _ in range(10)]
print(random_numbers)

#[18, 73, 98, 9, 33, 16, 64, 98, 58, 61]

Если вы запустите этот код несколько раз, вы всегда получите одну и ту же последовательность чисел.

Заключение

В этой статье мы рассмотрели различные способы генерации списков случайных чисел в Python без использования сторонних библиотек. Встроенный модуль random предоставляет широкий спектр функций для этого, но если он недоступен или его использование нежелательно, вы можете использовать альтернативные методы, такие как использование текущего времени в качестве источника случайности.

Помните, что встроенные функции Python обычно предлагают лучшую производительность и удобство использования, поэтому рекомендуется использовать их, когда это возможно.

Содержание: