[英]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.