python中如何跳出多层循环
像c語言中的goto,shell中的break 后面跟跳出層次的在方法在python中都沒有,這可不是因為python設計的low,而是允許一次性跳出多個循環很容易造成程序流程的混亂,使理解和調試程序都產生困難,這也是為什么goto在c語言中不建議使用的原因。
#_*_ coding:utf-8 _*_
loop1 = 0 #設定loop1 and loop2這兩個計數器
loop2 = 0
while True:
? ? ? ? loop1 +=1
? ? ? ? print "Loop1:", loop1
? ? ? ? break_flag = False #在父循環中設定一個跳出標志,子循環只要想連父親一塊跳出時,就把這個標志改成True ? ? ? ?
while True:
? ? ? ? ? ? ? ? loop2 +=1
? ? ? ? ? ? ? ? if loop2 ==5:
? ? ? ? ? ? ? ? ? ? ? ? break_flag = True #讓我爹一塊往外跳
? ? ? ? ? ? ? ? ? ? ? ? break #我先跳出第一層
? ? ? ? ? ? ? ? print 'Loop2:',loop2
? ? if break_flag: #兒子跳了沒有?
? ? ? ? ? ? ? ? ? ? ? ? print u"接到子循環跳出通知,我也得跳了!" ?#我擦,兒子真跳了。
? ? ? ? ? ? ? ? ? ? ? ? break
上面代碼的基本邏輯就是,在第一層循環中設置一個是否跳出的標志變量默認為False,如果子循環在break時想連它的上一層一起break,就可以把這個跳出的標志變量改成True,當子循環跳出后,
父循環會繼續往下走,但下在的語句是判斷這個跳出變量是否已經被子循環改掉了,如果已經改掉了,那就直接跳出就好了,因此你就實現了同時跳出2層循環的功能啦。
轉載于:https://blog.51cto.com/9425473/1692649
總結
以上是生活随笔為你收集整理的python中如何跳出多层循环的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MVC ScriptBundle自定义排
- 下一篇: github中origin和upstre