Python 获取随机范围的平均值

Python 获取随机范围的平均值

Python提供了一套强大的工具和库,用于在特定范围内生成随机数并计算其平均值。我们可以使用Numpy库、statistics模块、random模块和random.choice函数等来在范围内随机生成数字并找到它们的平均值。在本文中,我们将使用这些方法来生成随机数并找到它们的平均值。

步骤

使用Python生成随机数并计算平均值的一般算法如下:

  • 在范围内生成随机数

  • 将这些数字存储在列表或数组中。

  • 计算生成数字的平均值。

  • 将平均值打印为输出。

方法1:使用Random模块

在Python中,random模块提供了一种简单的方法来生成随机数。我们可以使用 random.randint(a, b) 函数来在范围[a, b]内生成随机整数。

示例

在下面的示例中,定义了一个名为 get_random_range_average 的函数,它使用random.randint()函数生成一个介于a和b之间的n个随机数的列表。然后计算这些数字的平均值并返回它。

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()函数来生成在从a到b的范围内的n个随机数的列表。它使用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:使用statistics模块

Python的statistics模块提供了计算统计属性的函数。我们可以使用statistics.mean()函数来计算一组数字的平均值。

示例

在下面的示例中,我们使用random.randint()函数和statistics.mean()函数来生成一个包含n个在a和b之间的随机数的列表。然后使用statistics模块中的statistics.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中生成指定范围内的随机数并计算其平均值的方法。我们使用了random模块、NumPy库、random.choices()函数和statistics模块。每种方法都提供了所需的输出,您可以根据自己的需求和对这些库的熟悉程度选择最合适的方法。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程