詳解Python如何在多層循環中使用break/continue
關於break/continue這兩個關鍵字在平常的使用過程中一直比較迷糊。好不容易理解瞭吧,過段時間不使用好像忘記瞭什麼。這個問題也是很多初學者比較容易提及的問題。
先通過一個簡單的單層循環來瞭解一下這兩個關鍵字的使用。
print('=============單層循環使用=============') for n in range(10): if n == 9: print('退出當前循環,當前n = ', n) break elif n == 4: print('跳過當前循環,當前n = ', n) continue print('當前n = ', n)
下面是執行以後的結果展示。
當前n = 0
當前n = 1
當前n = 2
當前n = 3
跳過當前循環,當前n = 4
當前n = 5
當前n = 6
當前n = 7
當前n = 8
退出當前循環,當前n = 9
根據執行完成的結果可以看出,n = 4時,當前的n值沒有被打印,但是它還是往下執行瞭n = 5以後的打印,這就是continue的作用。
而執行到break的關鍵字時就直接退出for循環瞭不會往下繼續執行。
同樣的方式,將單層循環這次變成雙層循環看一下效果。
print('=============雙層循環使用=============') for m in range(10): for n in range(10): if n == 9: print('退出當前循環,當前n = ', n) break elif n == 4: print('跳過當前循環,當前n = ', n) continue print('當前n = ', n) if m == 8: break
下面是執行以後的結果展示。
當前n = 0
當前n = 1
當前n = 2
當前n = 3
跳過當前循環,當前n = 4
當前n = 5
當前n = 6
當前n = 7
當前n = 8
退出當前循環,當前n = 9當前n = 0
當前n = 1
當前n = 2
當前n = 3
跳過當前循環,當前n = 4
當前n = 5
當前n = 6
當前n = 7
當前n = 8
退出當前循環,當前n = 9當前n = 0
當前n = 1
當前n = 2
當前n = 3
跳過當前循環,當前n = 4
當前n = 5
當前n = 6
當前n = 7
當前n = 8
退出當前循環,當前n = 9當前n = 0
當前n = 1
當前n = 2
當前n = 3
跳過當前循環,當前n = 4
當前n = 5
當前n = 6
當前n = 7
當前n = 8
退出當前循環,當前n = 9當前n = 0
當前n = 1
當前n = 2
當前n = 3
跳過當前循環,當前n = 4
當前n = 5
當前n = 6
當前n = 7
當前n = 8
退出當前循環,當前n = 9當前n = 0
當前n = 1
當前n = 2
當前n = 3
跳過當前循環,當前n = 4
當前n = 5
當前n = 6
當前n = 7
當前n = 8
退出當前循環,當前n = 9當前n = 0
當前n = 1
當前n = 2
當前n = 3
跳過當前循環,當前n = 4
當前n = 5
當前n = 6
當前n = 7
當前n = 8
退出當前循環,當前n = 9當前n = 0
當前n = 1
當前n = 2
當前n = 3
跳過當前循環,當前n = 4
當前n = 5
當前n = 6
當前n = 7
當前n = 8
退出當前循環,當前n = 9當前n = 0
當前n = 1
當前n = 2
當前n = 3
跳過當前循環,當前n = 4
當前n = 5
當前n = 6
當前n = 7
當前n = 8
退出當前循環,當前n = 9
根據結果,可以觀察到內部循環的執行次數是9次,在執行到m = 8 時將循環退出瞭正好m的值隻循環到瞭0-8正好是9次。
而內部循環的break/continue隻對內部循環生效,因此得出瞭結論break/continue隻對它對應的當前循環生效。
那如果是三層循環或者更多的層循環呢,效果也是一樣的。
print('=============三層循環使用=============') for i in range(3): for j in range(3): for k in range(3): if k in [1, 2, 3]: continue print('當前k = ', k) if j in [1, 2, 3]: continue print('當前j = ', j) if i in [2, 3]: break print('當前i = ', i)
同樣的隻需要在其對應的當前循環中加入break/continue的邏輯控制即可。
=============三層循環使用=============
當前k = 0
當前j = 0
當前k = 0
當前k = 0
當前i = 0
當前k = 0
當前j = 0
當前k = 0
當前k = 0
當前i = 1
當前k = 0
當前j = 0
當前k = 0
當前k = 0
執行完結果以後,i 值對應的循環執行瞭0、1,j/k值對應的循環隻執行瞭0。所以再一次印證瞭break/continue隻對它自己對應的當前循環生效。
到此這篇關於詳解Python如何在多層循環中使用break/continue的文章就介紹到這瞭,更多相關Python多層循環使用break continue內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!