以下是一种可能的解法:

生成 150 个随机整数,范围在 20 到 85 之间:

import random

nums = [random.randint(20, 85) for i in range(150)]

计算这些数字的平均值:

mean = sum(nums) / len(nums)

如果平均值不等于 48.6,可以通过调整一些数字来接近目标平均值。例如,可以找到一个数字,使其与平均值之差等于目标平均值与当前平均值之差的一半,然后将该数字加上或减去这个差值。

diff = 48.6 - mean
num_to_adjust = nums[random.randint(0, 149)]
num_to_adjust += diff / 2

重复上述步骤,直到平均值接近目标值。最后,打乱这些数字的顺序:

random.shuffle(nums)

完整代码如下:

import random

nums = [random.randint(20, 85) for i in range(150)]

while abs(sum(nums) / len(nums) - 48.6) > 0.1:
    diff = 48.6 - sum(nums) / len(nums)
    num_to_adjust = nums[random.randint(0, 149)]
    num_to_adjust += diff / 2

random.shuffle(nums)

print(nums)
Python 生成平均值为 48.6 的 150 个随机数(20-85 范围)

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

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