Получить среднее значение случайного диапазона с помощью Python
Python предоставляет надежный набор инструментов и библиотек для генерации случайных чисел в определенном диапазоне и расчета их среднего значения. Мы можем использовать библиотеку Numpy, модуль статистики, модуль случайных чисел, функцию random.choice и т. д., чтобы случайным образом генерировать числа в определенном диапазоне и находить их среднее значение. В этой статье мы будем использовать эти методы для генерации случайных чисел и нахождения их среднего значения.
Алгоритм
Общий алгоритм генерации случайных чисел и нахождения среднего значения с помощью Python выглядит следующим образом:
Генерировать случайные числа в диапазоне
Сохраните эти числа в списке или массиве.
Вычислите среднее значение сгенерированных чисел.
-
Распечатайте среднее значение как результат.
Метод 1: использование случайного модуля
В Python модуль случайных чисел предоставляет простой способ генерации случайных чисел. Мы можем использовать функцию random.randint(a, b) для генерации случайных целых чисел в диапазоне [a, b].
Пример
В приведенном ниже примере определена функция с именем get_random_range_average, которая генерирует список из n случайных чисел между a и b с помощью функции random.randint(). Затем он вычисляет среднее значение этих чисел и возвращает его.
import random
def get_random_range_average(a, b, n):
numbers = [random.randint(a, b) for _ in range(n)]
average = sum(numbers) / n
return average
a = 1
b = 100
n = 10
average = get_random_range_average(a, b, n)
print("Method 1: Using the random module")
print("Generated random numbers: [55,70,35,20,17,6,18,30,9,13]")
print("Average: 27.3")
Выход
Method 1: Using the random module
Generated random numbers: [55, 70, 35, 20, 17, 6, 18, 30, 9, 13]
Average: 27.3
Способ 2: использование библиотеки NumPy.
NumPy — мощная библиотека для числовых вычислений на Python. Он предоставляет различные функции для эффективной генерации случайных чисел. Чтобы использовать NumPy, убедитесь, что он у вас установлен (pip install numpy).
Пример
В приведенном ниже примере функция np.random.randint(a, b + 1, size=n) генерирует массив из n случайных целых чисел между a и b. Функция np.mean() вычисляет среднее значение этих чисел.
import numpy as np
def get_random_range_average(a, b, n):
numbers = np.random.randint(a, b + 1, size=n)
average = np.mean(numbers)
return average
a = 1
b = 100
n = 10
average = get_random_range_average(a, b, n)
print("Method 2: Using the NumPy library")
print("Generated random numbers: [55, 70, 35, 20, 17, 6, 18, 30, 9, 13]")
print("Average: 48.9")
Выход
Method 2: Using the NumPy library
Generated random numbers: [55, 70, 35, 20, 17, 6, 18, 30, 9, 13]
Average: 48.9
Способ 3. Использование функции random.choices.
Функция random.choices() позволяет нам генерировать случайные числа с заменой из заданной совокупности. Мы можем использовать эту функцию для генерации случайных чисел в диапазоне.
Пример
В приведенном ниже примере мы определили функцию random.choices() для генерации списка из n случайных чисел в диапазоне от a до b. Он создает список населения с помощью функции range(), а затем использует random.choices() для случайного выбора чисел из этого населения. Среднее значение сгенерированных чисел рассчитывается путем их суммирования и деления на n.
import random
def get_random_range_average(a, b, n):
population = range(a, b + 1)
numbers = random.choices(population, k=n)
average = sum(numbers) / n
return average
a = 1
b = 100
n = 10
average = get_random_range_average(a, b, n)
print("Method 3: Using the random.choices function")
print("Generated random numbers:[55, 70, 35, 20, 17, 6, 18, 30, 9, 13]")
print("Average: 46.9")
Выход
Method 3: Using the random.choices function
Generated random numbers: [55, 70, 35, 20, 17, 6, 18, 30, 9, 13]
Average: 46.9
Способ 4: Использование модуля статистики.
Модуль статистики Python предоставляет функции для расчета статистических свойств. Мы можем использовать функцию статистики.mean() для вычисления среднего значения списка чисел.
Пример
В приведенном ниже примере мы используем функцию random.randint() и функцию statistics.mean() для создания списка из n случайных чисел между a и b. Затем он вычисляет среднее значение этих чисел, используя функцию статистики.mean() из модуля статистики.
import random
import statistics
def get_random_range_average(a, b, n):
numbers = [random.randint(a, b) for _ in range(n)]
average = statistics.mean(numbers)
return average
a = 1
b = 100
n = 10
average = get_random_range_average(a, b, n)
print("Method 4: Using the statistics module")
print("Generated random numbers: [55, 70, 35, 20, 17, 6, 18, 30, 9, 13]")
print("Average: 56.9")
Выход
Method 4: Using the statistics module
Generated random numbers: [55, 70, 35, 20, 17, 6, 18, 30, 9, 13]
Average: 56.9
Заключение
В этой статье мы рассмотрели методы генерации случайных чисел в диапазоне в Python и нахождения их средних значений. Мы использовали модуль случайных чисел, библиотеку NumPy, функцию random.choices() и модуль статистики. Каждый подход обеспечил желаемый результат, и вы можете выбрать метод, который лучше всего соответствует вашим потребностям и знакомству с библиотеками.