- Python從入門到項目實踐(超值版)
- 聚慕課教育研發中心
- 1253字
- 2020-01-20 14:50:21
6.6 循環結構程序舉例
循環語句主要就是在滿足條件的情況下反復執行某一個操作。根據循環執行次數的確定性,循環可以分為確定次數循環和不確定次數循環。確定次數循環指循環體對循環次數有明確的定義,循環次數限制采用遍歷結構中元素個數來體現,也稱有限循環,在Python中稱之為遍歷循環(for語句);不確定次數循環被稱為無限循環,在Python中用while語句實現。
6.6.1 while循環結構

while循環判斷比較簡單,當條件判斷為True時,循環體就會去重復執行語句塊中的語句;當條件判斷為False時,則終止循環語句的執行,同時去執行與while同級別的后續語句。其格式如下:

下面通過一個例子來看看while循環。
【例6-11】輸入一個運算數,然后將這個數乘以2,循環5次。

程序運行結果如圖6-23所示。

圖6-23 循環5次結果

圖6-24 循環5次流程圖
其運行的流程圖如圖6-24所示。
在while中使用else語句,其格式如下:

【例6-12】輸入一個小于5的數,每次加1,直到其不小于5為止。

程序運行結果如圖6-25所示。

圖6-25 程序執行結果
6.6.2 for循環結構

for語句通常由兩部分組成,一是條件控制部分,二是循環部分。for語句語法格式如下所示。

其中,“循環變量”是一個變量名稱,“遍歷結構”則是一個列表。在Python中for語句之所以稱為“遍歷循環”,是因為for語句執行的次數是由“遍歷結構”中元素的個數決定的。遍歷循環就是依次從“遍歷結構”中取出元素,置入循環變量中,并執行對應的語句塊。“遍歷結構”可以是字符串、文件、組合數據類型或range()函數。else語句只在循環正常執行并結束時才執行。else語句通常是被省略的。
【例6-13】定義一個字符串,然后使用for語句遍歷字符串。

程序運行結果如圖6-26所示。

圖6-26 循環遍歷結果
【例6-14】定義一個鏈表,將鏈表里面的數字按大小順序從小到大輸出。

程序運行結果如圖6-27所示。

圖6-27 排序結果
6.6.3 break和continue語句

在程序運行過程中,根據程序的目的,有時需要程序在滿足另一個特定條件時跳出本次循環,或者跳出本次循環去執行另外的循環。在Python中要實現循環的自由轉場就要用到兩個輔助保留字:break和continue,它們用來輔助控制循環。
break語句可以在循環過程中直接退出循環,而continue語句可以提前結束本輪循環,并直接開始下一輪循環。這兩個語句通常都必須配合if語句使用。
要特別注意,不要濫用break和continue語句。break和continue會造成代碼執行邏輯分叉過多,容易出錯。大多數循環并不需要用到break和continue語句,都可以通過改寫循環條件或者修改循環邏輯,去掉break和continue語句。
有些時候,如果代碼寫得有問題,會讓程序陷入“死循環”,也就是永遠循環下去。這時可以按Ctrl+C組合鍵退出程序,或者強制結束Python進程。
1. break語句
【例6-15】在銀行取錢的時候,經常看見輸入密碼只有三次機會,如果三次密碼都輸錯了,那么就輸入不了了。我們都知道,這是通過循環來判斷賬號與密碼是否匹配,如果輸入了對的密碼,將使用break跳出循環。break語句可以在循環過程中直接退出循環。

程序運行結果如圖6-28所示。

圖6-28 登錄賬號結果
2. continue語句
continue語句可以提前結束本輪循環,并直接開始下一輪循環。
【例6-16】在數字匹配游戲中,可以清晰地感受到break與continue的不同,當匹配的數字是4時,在結束循環時,輸出的是數字5。

程序運行結果如圖6-29所示。

圖6-29 字符匹配結果
- C語言程序設計案例教程
- SQL Server 從入門到項目實踐(超值版)
- 解構產品經理:互聯網產品策劃入門寶典
- Fundamentals of Linux
- 簡單高效LATEX
- QGIS:Becoming a GIS Power User
- Jenkins Continuous Integration Cookbook(Second Edition)
- Java語言程序設計教程
- Learning AWS
- 案例式C語言程序設計實驗指導
- 大學計算機基礎
- SignalR:Real-time Application Development(Second Edition)
- 分布式架構原理與實踐
- PHP Microservices
- Getting Started with the Lazarus IDE