Python if语句中的for语句跳过

时间:2018-08-19 00:00:14

标签: python-3.x for-loop if-statement

以下是我目前在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

但是由于某种原因,当for循环在mth到达第二个元组时,它会检查a + m <= M,即使此时为true,也直接进入Else语句,最后将第三个元组加在一起给予

30 60 133

我尝试删除第三个元组,但是它仍然跳过了第二个元组。 我在这里做些傻事吗?任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

第一次迭代后,M的值为75,而不是100。因此,在第二次迭代中,a + m = 25 + 70 = 95 > M,而不是您期望的<= M