Python 3.x 在Python中将某些数字添加到列表中
我正在尝试做一个小项目,这需要我循环浏览一个列表(列表y),并将该列表中的数字逐个添加到列表x,如果x的总和=20,那么我的输出将是“OK”。所以我的程序应该选择数字5,但它不是。有什么帮助吗Python 3.x 在Python中将某些数字添加到列表中,python-3.x,list,Python 3.x,List,我正在尝试做一个小项目,这需要我循环浏览一个列表(列表y),并将该列表中的数字逐个添加到列表x,如果x的总和=20,那么我的输出将是“OK”。所以我的程序应该选择数字5,但它不是。有什么帮助吗 x = [5,5,5] y = [1,2,5,6] for number in y: x.append(number) if number + sum(x) == 20: print('ok') print(number) print(x)
x = [5,5,5]
y = [1,2,5,6]
for number in y:
x.append(number)
if number + sum(x) == 20:
print('ok')
print(number)
print(x)
print(sum(x))
您可以无条件地追加,这意味着
x.append()
会为每个数字调用,而不仅仅是匹配的数字。将x.append(number)
移动到if内。
此外,在if中添加一个break
,以防止在找到一个数字后添加更多的数字
x=[5,5,5]
y=[1,2,5,6]
对于y中的数字:
如果数字+总和(x)=20:
x、 追加(数字)
打印('确定')
打印(数字)
打印(x)
打印(总和(x))
打破
为什么它只能选择数字5?它将一个接一个地遍历y,即从“1”开始=>和(x)是16。那么“2”=>和(x)是18。那么“5”=>和(x)是23。x的和永远不会是20。基本上,我希望它告诉我列表Y中的哪个数字可以附加到列表x,这样列表x的和可以给我20(即5)。如果我选择另一个数字,比如17,我希望程序告诉我列表Y中的哪个数字可以附加到列表x,这样,和可以给我17(在这种情况下,它将是2)哦,那帮了大忙,谢谢!!->将我的评论移至答案,如果这解决了您的问题,请标记为正确。