以下是我目前在python 3中拥有的内容:
a = 0
b = 0
c = 0
M = 100
T = 100
mth = [[25,50,100], [70,50,88], [5,10,33]]
for i in mth:
m = i[0]
t = i[1]
h = i[2]
if a+m <= M:
a = a+m
M = M-m
else:
continue
if b+t <= T:
b = b+t
else:
continue
c = c + h
print(a,b,c)
上面的问题是,它应该添加前两个元组并打印
95 100 188
但是,由于某种原因,当a+m循环到达mth中的第二个元组时,它会检查<= M是否为真,即使此时为真,它也会直接转到Else语句,并最终将第三个元组相加,以给出
30 60 133
我尝试删除第三个元组,但它仍然跳过第二个元组。我这是在做什么傻事吗?如有任何帮助,我们不胜感激!
发布于 2018-08-19 08:08:51
在第一次迭代之后,M
的值变为75,而不是100。因此,在第二次迭代中,a + m = 25 + 70 = 95 > M
,而不是您预期的<= M
。
https://stackoverflow.com/questions/51913413
复制相似问题