Python 生成 78 个平均值为 2780 的随机数,范围在 1940 至 4400 之间
这是一个比较简单的数学问题,可以使用数学公式来解决。
首先,我们可以计算出这 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 个满足条件的随机数,并将其输出到控制台。
原文地址: https://www.cveoy.top/t/topic/lfcD 著作权归作者所有。请勿转载和采集!