这是一个比较简单的数学问题,可以使用数学公式来解决。

首先,我们可以计算出这 78 个数的总和,即:

总和 = 平均值 × 数量 = 2780 × 78 = 216840

接下来,我们可以计算出这 78 个数的最小值和最大值,即:

最小值 = 1940 最大值 = 4400

然后,我们可以计算出这 78 个数的平均差,即:

平均差 = (最大值 - 最小值) / (数量 - 1) = (4400 - 1940) / (78 - 1) ≈ 34.29

最后,我们可以使用平均差来生成这 78 个数。具体地,我们可以从最小值开始,每次加上平均差,直到生成了 78 个数为止。如果最后一个数超过了最大值,就将它减去平均差。

代码实现如下:

import random

n = 78
avg = 2780
min_val = 1940
max_val = 4400

total = avg * n
avg_diff = (max_val - min_val) / (n - 1)

nums = []
num = min_val
for i in range(n):
    nums.append(num)
    num += avg_diff
    if num > max_val:
        num -= avg_diff

# 随机打乱顺序
random.shuffle(nums)

print(nums)

通过以上代码,可以生成 78 个满足条件的随机数,并将其输出到控制台。

Python 生成 78 个平均值为 2780 的随机数,范围在 1940 至 4400 之间

原文地址: https://www.cveoy.top/t/topic/lfcD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录