【发布时间】:2019-08-19 18:46:43
【问题描述】:
在python中,我正在尝试创建一个生成随机数的程序:
from random import *
x = 10
for i in range(x):
print(randint(0, 100))
这个程序生成 10 个 0 到 100 之间的随机数,如下所示:
81
92
86
26
78
85
28
32
79
20
但正如您所见,这与我的标题不符。我希望所有这些值加起来为 100。无论如何我可以做到这一点吗?这是我想要的示例:
11
13
42
4
5
2
3
10
5
5
(在本例中,这些都是随机数)
总结一下: 有没有办法生成一组总和为一个值的随机数?
【问题讨论】:
-
你能不能只生成 9 个值,然后再做 100 个(或任何其他值)——剩下的总和?为确保您不会先发制人,您可以在循环时逐渐减少最大数量
-
您的“随机数”需要什么样的分布?您缺乏特异性使解决这个问题变得微不足道。根据规范,它可能会变得很棘手。
标签: python python-3.x