我想生成10个整数加起来是40,在2-6的范围内.
例如:
2 + 6 + 2 + 5 + 6 + 2 + 2 + 6 + 3 + 6 = 40
个
10个介于2和6之间的随机数加起来是40.
我想生成10个整数加起来是40,在2-6的范围内.
例如:
2 + 6 + 2 + 5 + 6 + 2 + 2 + 6 + 3 + 6 = 40
个
10个介于2和6之间的随机数加起来是40.
我的 idea 是生成[2,6]范围内的数字,直到列表的长度为10,然后开始判断和,如果不是40,则删除列表的第一个元素并生成一个新的数字.唯一的问题是,您可能需要判断是否可以将数字与目标数字相加,例如,如果数字是奇数,但所有生成的数字都是偶数,则永远无法达到目标数字.
import random
low,high = 2,6
count = 10
target = 40
k = []
r = range(low,high+1)
tries = 0
while True:
k.append(random.choice(r))
if len(k) == count:
if sum(k) == target:
break
k = k[1:]
tries += 1
print(k)
print(len(k))
print(sum(k))
print(tries)