python 里的 continue 和 break 語法理解


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 結束了本輪循環,進入下一層循環 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM