Python跳出多重循環(huán)的方法示例
方法1:自定義異常
# -*- coding:utf-8 -*- """ 功能:python跳出循環(huán) """ # 方法1:自定義異常 class Getoutofloop(Exception): pass try: for i in range(5): for j in range(5): if i == j == 2: raise Getoutofloop() else: print i, '----', j except Getoutofloop: pass
方法2:將循環(huán)封裝為函數(shù),return
# -*- coding:utf-8 -*- """ 功能:python跳出循環(huán) """ # 方法2:封裝為函數(shù),return def test(): for i in range(5): for j in range(5): if i == j == 2: return else: print i, '----', j test()
方法3:用for...else...語句
# -*- coding:utf-8 -*- """ 功能:python跳出循環(huán) """ # 方法2:for...else...用法,用于跳出指定循環(huán)層 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: # else1 continue break # break1 else: # else2 continue break # break2
方法3解釋:
(1)break能跳出某一重循環(huán)(該重循環(huán)的本次及剩余次數(shù)都不再執(zhí)行),但并不能跳出該重循環(huán)的其他外重循環(huán)。
例如,最內(nèi)第3重循環(huán)break之后,程序返回第2重循環(huán)繼續(xù)執(zhí)行第2重的下一次,然后第3重循環(huán)將再次執(zhí)行。
(2)continue是跳過某一重循環(huán)的某一次,但該重循環(huán)的剩余次數(shù)會繼續(xù)執(zhí)行。
(3)for...else:其中else塊中的語句將在for循環(huán)完整執(zhí)行過之后才會被執(zhí)行,如果for循環(huán)被break,則else塊將不會被執(zhí)行。
(4)方法3中,當(dāng)?shù)?重循環(huán)滿足i == j == k ==3時,第3重循環(huán)被break,則并列的else1將跳過,執(zhí)行break1,導(dǎo)致第2重循環(huán)
被終止,則else2被跳過,執(zhí)行break2,導(dǎo)致第1重循環(huán)被終止。
最終實現(xiàn)跳出整個循環(huán)。
for...else加break舉例:
# -*- coding:utf-8 -*- """ 功能:for...else語句 """ for i in range(5): print i else: print u"循環(huán)完整執(zhí)行一次。" for j in range(6): for k in range(6): print j, k if j == 3: print u"內(nèi)重循環(huán)即將被break" break else: print u"內(nèi)重循環(huán)完整執(zhí)行一次。" else: print u"外重循環(huán)完整執(zhí)行一次。"
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
tensorboard實現(xiàn)同時顯示訓(xùn)練曲線和測試曲線
今天小編就為大家分享一篇tensorboard實現(xiàn)同時顯示訓(xùn)練曲線和測試曲線,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01Pandas中Series的創(chuàng)建及數(shù)據(jù)類型轉(zhuǎn)換
這篇文章主要介紹了Pandas中Series的創(chuàng)建及數(shù)據(jù)類型轉(zhuǎn)換,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-08-08