中断和继续循环在python中如何工作?

时间:2020-05-17 01:40:33

标签: python

输入:17

  stop = int(input())
    result = 0
    for a in range(5):
        for b in range(3):
            result += a + b
        print(result)
        if result > stop:
            break

有人可以向我解释这段代码是如何产生的: 3 9 18

我只是似乎无法为这些数字的计算方法着迷...感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

我能解释的最好的是这样的:

stop = int(input("Input a stop value:"))
print(f"stop value is: {stop}")
result = 0
for a in range(5):
    for b in range(3):
        print(f"adding: a{a} + b{b}")
        result += a + b
        print(f"result is now: {result}")
    if result > stop:
        print(f"result {result} is superior to {stop}, break")
        break

print(f"\nFinal result is {result}")

Input a stop value: 17
stop value is: 17
adding: a0 + b0
result is now: 0
adding: a0 + b1
result is now: 1
adding: a0 + b2
result is now: 3
adding: a1 + b0
result is now: 4
adding: a1 + b1
result is now: 6
adding: a1 + b2
result is now: 9
adding: a2 + b0
result is now: 11
adding: a2 + b1
result is now: 14
adding: a2 + b2
result is now: 18
result 18 is superior to 17, break

Final result is 18

Demo

答案 1 :(得分:0)

内部循环将a与结果相加3次,并将b的所有值(0、1和2)相加。这意味着每次循环运行时,结果+ = 3 * a +3。然后,外部循环将打印此值。最初在0处,在第一个增量为a = 0之后,第二个增量为9(加3 * 1 + 3 = 6),第三个增量为3(加3 * 2 + 3)后为3(加3 * 0 + 3)。 = 9)。每回合还检查结果是否大于停止值,并调用break关键字。在Python中,这立即结束了循环的执行,因此程序退出了外循环并完成了程序。 continue,正如您在标题中所询问的那样,在语句之后的循环中跳过了其余代码。

相关问题