目的:多重嵌套循環的情況下,最里面一層循環中止時,直接中止整個多重嵌套循環.
1 for i in range(10): # 循環2 2 for j in range(9): # 循環1 3 print(j) 4 if i ==3 and j == 2: 5 break # break1 6 else: 7 continue 8 break # break2
重點在於 continue 和 break 的配合使用
循環1為 for-else模式
循環1的結果只會有2種情況: 1.循環結束,執行else部分; 2.符合if判斷條件,循環中斷,執行if下的break.
那么就是說,如果循環1完成一個循環,那么就繼續進行循環2的下一個循環,如果循環1的循環中斷,那么循環2也必須要中斷,跳出整個嵌套循環(目的)
也就是說,
循環1的情況2,循環break中斷之后,循環2也必須break,因此與循環1同級,在循環1之后放了break2.
循環1的情況1,循環結束,此時不能執行循環2的break2,因此在else下放了continue,在循環1結束后會執行else部分的continue,這個continue是對循環2起作用,因此會跳過執行break2,進行循環2的下一輪循環.
至此,目的達到.
跳出多重嵌套循環的方法還有很多,比如利用try...except自定義異常跳出,但是我比較喜歡這種,簡單的利用continue和break的配合就能實現,小技巧解決大問題,特此記錄.