很抱歉成为新手。但是我无法弄清楚如何生成n个整数(也可能为0)可以求和一些整数K。 我用Python无法解决这个问题。
编辑:我希望每个值的值也限制为某个数字(例如4)。
答案 0 :(得分:0)
使用random.randint
以及如果sum(l) + r > 20
可以重绘新随机数的条件,则您可以用 20 之和填充 365 / p>
import random
l = []
k = 20
n = 365
for i in range(n):
if sum(l) > 20:
l.append(0)
else:
r = random.randint(0,2)
while sum(l) + r > k:
r = random.randint(0,2)
l.append(r)
注意
为了进一步随机化 list ,我会在之后另外 shuffle
random.shuffle(l)
print(sum(l)) # -> 20
print(len(l)) # -> 365