continue 的作用:只要程序遇到 continue ,本次循環就不繼續了,直接進入下一次循環
break 的作用:只要程序遇到 break ,就會結束當前這個循環。注意如果是多層嵌套循環,只結束當前這一層的循環。
____________________________________________________________________________________________
要求跳過第三層
continue:
for i in range(1,5): print(f"----------{i}層----------") for j in range(1,6): if i == 3: continue print(f"L{i}-{i}0{j}室") #執行結果 ----------1層---------- L1-101室 L1-102室 L1-103室 L1-104室 L1-105室 ----------2層---------- L2-201室 L2-202室 L2-203室 L2-204室 L2-205室 ----------3層---------- ----------4層---------- L4-401室 L4-402室 L4-403室 L4-404室 L4-405室
break:
for i in range(1,5): print(f"----------{i}層----------") for j in range(1,6): if i == 3: #print("-") break print(f"L{i}-{i}0{j}室") #執行結果 ----------1層---------- L1-101室 L1-102室 L1-103室 L1-104室 L1-105室 ----------2層---------- L2-201室 L2-202室 L2-203室 L2-204室 L2-205室 ----------3層---------- ----------4層---------- L4-401室 L4-402室 L4-403室 L4-404室 L4-405室
可以看見第三層無論 continue 還是 break 是沒有輸出的,那么真的跳過了嗎,看下面代碼
continue:
----------1層---------- L1-101室 L1-102室 L1-103室 L1-104室 L1-105室 ----------2層---------- L2-201室 L2-202室 L2-203室 L2-204室 L2-205室 ----------3層---------- - - - - - ----------4層---------- L4-401室 L4-402室 L4-403室 L4-404室 L4-405室
break:
----------1層---------- L1-101室 L1-102室 L1-103室 L1-104室 L1-105室 ----------2層---------- L2-201室 L2-202室 L2-203室 L2-204室 L2-205室 ----------3層---------- - ----------4層---------- L4-401室 L4-402室 L4-403室 L4-404室 L4-405室
可以看到 continue 第三層小循環每一次都執行了,只是沒有顯示內容。break 判斷了一次跳過了該次小循環。
————————————————————————————————————————————————
但是我們要的是跳出第三層小循環,剛才那個肯定不行,那么怎么改呢?
continue:
for i in range(1,5): print(f"----------{i}層----------") if i == 3: print("三層不通") continue for j in range(1,6): print(f"L{i}-{i}0{j}室") #執行結果 ----------1層---------- L1-101室 L1-102室 L1-103室 L1-104室 L1-105室 ----------2層---------- L2-201室 L2-202室 L2-203室 L2-204室 L2-205室 ----------3層---------- 三層不通 ----------4層---------- L4-401室 L4-402室 L4-403室 L4-404室 L4-405室
我們把 continue 放在外層,可以看到,跳過了第三層循環。
那么 break 放在外層會是什么效果呢:
for i in range(1,5): print(f"----------{i}層----------") if i == 3: print("三層不通") break for j in range(1,6): print(f"L{i}-{i}0{j}室")
#執行結果
----------1層----------
L1-101室
L1-102室
L1-103室
L1-104室
L1-105室
----------2層----------
L2-201室
L2-202室
L2-203室
L2-204室
L2-205室
----------3層----------
三層不通
可以看到 break 到第三層小循環直接結束了進程。
——————————————————————————————————————————————
新需求:跳過 404 ,繼續走
我們需要判斷兩個值,i 的層數為 4 ,j 的房間號也為 4 。
break:
for i in range(1,6): print(f"----------{i}層----------") if i == 3: print("三層不通") continue for j in range(1,6): if i == 4 and j == 4: print("遇到 404 房間,不吉利,跳過") break print(f"L{i}-{i}0{j}室") #執行結果 ----------1層---------- L1-101室 L1-102室 L1-103室 L1-104室 L1-105室 ----------2層---------- L2-201室 L2-202室 L2-203室 L2-204室 L2-205室 ----------3層---------- 三層不通 ----------4層---------- L4-401室 L4-402室 L4-403室 遇到 404 房間,不吉利,跳過 ----------5層---------- L5-501室 L5-502室 L5-503室 L5-504室 L5-505室
continue:
for i in range(1,6): print(f"----------{i}層----------") if i == 3: print("三層不通") continue for j in range(1,6): if i == 4 and j == 4: print("遇到 404 房間,不吉利,跳過") continue print(f"L{i}-{i}0{j}室") #執行結果 ----------1層---------- L1-101室 L1-102室 L1-103室 L1-104室 L1-105室 ----------2層---------- L2-201室 L2-202室 L2-203室 L2-204室 L2-205室 ----------3層---------- 三層不通 ----------4層---------- L4-401室 L4-402室 L4-403室 遇到 404 房間,不吉利,跳過 L4-405室 ----------5層---------- L5-501室 L5-502室 L5-503室 L5-504室 L5-505室
這里使用 continue 結束本次 404 小循環,繼續下一個小循環 405
break 到了 404 結束了本輪循環,進入下一層循環