10.python break/continue
- 2020 年 3 月 12 日
- 筆記
在昨天的文章:python while循環 文章結尾,我們留下了一個bug,當條件成立時,程序陷入了死循環,如何解決呢?

為了規避這個問題,今天介紹兩個關鍵詞:break和continue。
一.break

如果在循環中使用 break ,意味着立即跳出本次循環,直接代碼演示:
# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:何以解憂 @Blog(個人博客地址): shuopython.com @WeChat Official Account(微信公眾號):猿說python @Github:www.github.com @File:break_continue.py @Time:2019/9/19 21:22 @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累! """ a = 0 while True: # 條件永遠成立,如果沒有break ,死循環 a += 1 # 等價 a = a + 1,a 的值不停的累計加 1 if a == 100: break # 當a == 100 ,條件成立時,break 跳出循環,結束程序 print("a = %d" % a) print("循環結束,退出程序")
輸出結果:
a = 1 a = 2 a = 3 a = 4 .... a = 96 a = 97 a = 98 a = 99 循環結束,退出程序
上面程序是前一篇文章的代碼,while True 死循環,當循環中的條件成立時,立即break退出循環。記住關鍵字break。
二.continue

如果在循環中使用 continue,意味着結束本次循環,繼續下一次循環,直接代碼演示:
a = 0 while True: # 條件永遠成立 a += 1 # 等價 a = a + 1,a 的值不停的累計加 1 if a == 100: continue # 當a == 100 ,條件成立時,continue 繼續下次一循環 print("a = %d" % a) print("循環結束,退出程序")
輸出結果:
a = 1 a = 2 a = 3 a = 4 ... a = 96 a = 97 a = 98 a = 99 a = 101 a = 102 a = 103 ....
程序使用continue,再次陷入死循環,各位小夥伴注意到沒有,在程序打印到控制台的時候,99之後就是101,唯獨沒有100。
因為當 a 的值為100時,循環中執行了continue,程序代碼會直接跳過continue後面的代碼,回到while循環的最開始。
上面同時介紹了break和continue,感受到兩者的區別了嗎?
break是結束循環,當前的while循序停止;continue 是結束本次循環,繼續下一次循環,實際上循環還沒有停止。

三.重點總結
while循環中關鍵字break和continue的使用是必不可少的,注意兩者的區別
break:跳出本次循環
continue:結束本次循環,繼續下一次循環