如何在Python中中斷for迴圈?


在Python中,通常構建for迴圈來迭代遍歷範圍內的每個專案。如果需要在所有迭代完成之前提前終止迴圈,則可以使用`break`關鍵字。它通常用於迴圈體內的條件語句中。

使用break語句

讓我們來看幾個例子,看看break語句如何在for迴圈中工作。

示例

在這個例子中,for迴圈定義為迭代最多20次,但是break語句在第10次迭代(即x=10)終止了for迴圈。

如果我們將break語句應用於巢狀for迴圈的內迴圈,則它只會中斷最內層的迴圈。它不會停止整個迴圈。

for x in range(20): 
    print (x) 
    if x==10: 
        break 
        print ("end of loop")

輸出

0
1
2
3
4
5
6
7
8
9
10 

示例

在這個例子中,內迴圈在i = 0且j = 2迭代時停止,因此迴圈跳過了剩餘的2次迭代(0, 3)和(0,4)。我們可以使用標誌變數在特定迭代時停止整個迴圈。讓我們看下面的例子。

for i in range(5):
    for j in range(5):
        print(i,j)
        if i == 0 and j == 2:
            print("stopping the inner loop at i = 0 and j = 2")
            break

輸出

0 0
0 1
0 2
stopping the inner loop at i = 0 and j = 2
1 0
1 1
1 2
1 3
1 4
2 0
2 1
2 2
2 3
2 4
3 0
3 1
3 2
3 3
3 4
4 0
4 1
4 2
4 3
4 4

示例

標誌變數在(0,2)迭代時終止了巢狀迴圈。

flag = False
for i in range(5):
    for j in range(5):
        print(i,j)
        if i == 0 and j == 2:
            print("stopping the loops at i = 0 and j = 2")
            flag = True
            break
    if flag:
        break

輸出

0 0
0 1
0 2
stopping the loops at i = 0 and j = 2

使用return語句

要中斷for迴圈,我們可以使用`return`關鍵字,這裡我們需要將迴圈放在函式中。使用`return`關鍵字可以直接結束函式。

示例

return關鍵字在(0,2)次迭代時終止了巢狀for迴圈。

def check():
    for i in range(5):
        for j in range(5):
            print(i,j)
            if i == 0 and j == 2:
                return "stopping the loops at i = 0 and j = 2"

print(check())   

輸出

0 0
0 1
0 2
stopping the loops at i = 0 and j = 2

更新於:2023年8月23日

2K+ 次瀏覽

啟動你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.