【问题标题】:Python if statement in for statement skippingPython if 语句中的 for 语句跳过
【发布时间】:2018-08-19 00:00:14
【问题描述】:

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

30 60 133

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

【问题讨论】:

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


    【解决方案1】:

    第一次迭代后,M 的值变为 75,而不是 100。因此,在第二次迭代中,a + m = 25 + 70 = 95 &gt; M,而不是您预期的&lt;= M

    【讨论】:

    • facepalm 我知道这是个小而笨的东西。非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多