Python 生成平均值为 48.6 的 150 个随机数(20-85 范围)
以下是一种可能的解法:
生成 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)
原文地址: https://www.cveoy.top/t/topic/lfc5 著作权归作者所有。请勿转载和采集!