在python中有没有一个直接的函数或者任何其他的方法,我可以生成给定大小的随机整数,并且我想指定这些数字的和。
例如。我想生成7个数字,它们的和是341。
我还可以为它指定mean吗?比如7个数字,平均值是49,和是341。(可选)
发布于 2018-06-25 04:02:59
您可以使用random.gauss
在具有一定标准差(接近)的mean
周围生成6个数字,并根据@PatrickArtner的建议构建第7个数字,例如,使用3
标准devs:
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)
发布于 2018-06-25 03:38:32
我发现这段代码可能会做得很好:
_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]
https://stackoverflow.com/questions/51013319
复制相似问题