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:結束本次循環,繼續下一次循環