在python中是否有直接函数或任何其他方式,我可以为给定大小生成随机整数,我也想指定这些数字的总和。
例如。 我想生成7个总数为341的数字。
我是否也可以指定均值。像7个数字,均值49和总和341。(可选)
答案 0 :(得分:0)
我发现这段代码可能会做得不错:
_sum = 341
n = 7
Argentina = np.random.multinomial(_sum, np.ones(n)/n, size=1)[0]
print (Argentina)
[44 46 42 52 53 50 54]
答案 1 :(得分:0)
您可以使用random.gauss
在mean
周围生成具有一定标准偏差(接近度)的6个数字,并按照@PatrickArtner建议构造第7个数字,例如从均值中使用3
个标准开发者:
In []:
import random
vals = [int(random.gauss(341/7, 3)) for _ in range(6)]
vals.append(341 - sum(vals))
vals, sum(vals), sum(vals)/7
Out[]:
([47, 47, 48, 48, 54, 50, 47], 341, 48.714285714285715)