使用 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()** 函数在 a 和 b 之间生成一个包含 n 个随机数的列表。然后,它使用 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 模块。每种方法都提供了所需的输出,您可以选择最适合您的需求和对库的熟悉程度的方法。

更新于: 2023年7月17日

603 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告