簡體   English   中英

break 和 continue 循環在 python 中如何工作?

[英]How do break and continue loops work in 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

我似乎無法理解這些數字是如何計算的……感謝您的幫助!

我能解釋的最好的是這樣的:

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

演示

內部循環將a 3 次添加到結果和b的所有值(0、1 和 2)。 這意味着每次循環運行時,result += 3*a + 3。然后,外層循環打印這個值。 最初為 0,在 a=0 的第一次增量之后,這是 3(加 3*0+3),在第二次增量 9(加 3*1+3=6)和第三個 18(加 3*2+3)之后=9). 每一輪它還檢查結果是否大於停止的值並調用 break 關鍵字。 Python,這就立即結束了一個循環的執行,於是程序退出外層循環,程序結束。 continue ,正如您在標題中詢問的那樣,跳過語句后循環中的剩余代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM