怎么在python中退出多層循環?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
1、定義標記變量;利用變量值的變化退出循環
# 第一種嵌套形式 a = [[1, 2, 3], [5, 5, 6], [7, 8, 9]] # init_i = 0 # init_j = 0 flag = True for i in range(3): for j in range(3): # print(i, j) if a[i][j] == 5: flag = False init_i = i init_j = j break if not flag: break print(init_i, init_j) print(i, j) # 第二種嵌套形式 flag = True while flag: for i in range(10): print(x) flag = False break
2、使用函數配合return關鍵字 實現跳出循環(在函數內部只要執行完return語句 則直接退出函數)
def test(): while True: for x in range(10): print(x) return test()
3、利用else continue 和外層的break跳出循環
a = [[1, 2, 3], [5, 5, 6], [7, 8, 9]] init_i = 0 init_j = 0 flag = True for i in range(3): for j in range(3): # print(i, j) if a[i][j] == 5: flag = False init_i = i init_j = j break else: continue break # if not flag: # break print(init_i, init_j) print(i, j) while True: for x in range(4): print(x) if x == 2: break else: print("未執行") continue break
python跳出多層循環的方法
今天同事問我一個python面試題,關于python跳出多層循環,原來還真沒用過,網上一查還真有點意思,下面記錄一下:
Python 本身沒有“break n” 和“goto” 的語法,這也造成了Python 難以跳出多層(特定層數)循環。下面是幾個跳出多層(特定層數)循環的tip。
1、自定義異常
class getoutofloop(Exception): pass try: for i in range(5): for j in range(5): for k in range(5): if i == j == k == 3: raise getoutofloop() else: print i, '----', j, '----', k except getoutofloop: pass
2、封裝為函數return
def test(): for i in range(5): for j in range(5): for k in range(5): if i == j == k == 3: return else: print i, '----', j, '----', k test()
3、for ... else ... 用法
上面的兩種都是只能跳出多層而不能跳出特定層數的循環,接下來的這個正是為了跳出特定層數的循環。
for i in range(5): for j in range(5): for k in range(5): if i == j == k == 3: break else: print i, '----', j, '----', k else: continue break else: continue break
python是什么意思
Python是一種跨平臺的、具有解釋性、編譯性、互動性和面向對象的腳本語言,其最初的設計是用于編寫自動化腳本,隨著版本的不斷更新和新功能的添加,常用于用于開發獨立的項目和大型項目。
看完上述內容,你們掌握怎么在python中退出多層循環的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。