- Python自動化開發實戰
- 黃永祥
- 674字
- 2019-12-09 14:29:41
4.2 for循環
循環是指程序中需要重復執行的代碼,Python的循環結構有for循環和while循環。for循環是一種迭代循環機制,迭代即重復相同的邏輯操作,每次操作都是基于上一次結果而進行的。Python的for循環可以遍歷任何序列的對象,如字符串、元組列表和字典等,其語法如下:

根據for循環的語法,我們使用流程圖進一步了解for循環的執行過程,如圖4-2所示。

圖4-2 for循環流程圖
從圖中可以知道,循環體是一個可迭代的對象,常用的迭代對象有字符串、列表、字典和range對象。我們通過代碼對這些迭代對象實現for循環遍歷,具體代碼如下:

在上述4個例子中,對于字符串、列表和字典的遍歷循環是相對容易理解,range對象是for循環中經常使用的循環對象,同時也說明for循環是支持對象的遍歷,對象是由類實例化生成的,有關類的知識會在第6章講述。代碼運行結果如圖4-3所示。

圖4-3 for循環的運行結果
在for循環中,我們還可以嵌套for循環和if語句。這兩種嵌套方式是實際開發中最為常見的,具體的代碼示例如下:

for循環中嵌套if語句通常是對循環體進行一個判斷篩選,根據當前循環值的不同而執行不同的處理,如上述例子中,嵌套if語句是將0到9之間的范圍值進行分類篩選。如果for循環是嵌套for循環,可將運行結果看作一張二維表格,最外層的循環就如表格的行數,嵌套里面的循環是表格的列數。上述代碼的運行結果如圖4-4所示。

圖4-4 帶嵌套的for循環的運行結果
4.3 while循環
從上一節我們知道,Python的循環結構有for循環和while循環,while循環是根據條件的判斷結果而決定是否執行循環。只要條件判斷結果為True,程序就會執行循環,直至條件判斷結果為False,具體語法如下:

根據while循環的語法,我們使用流程圖進一步了解while循環的執行過程,如圖4-5所示。

圖4-5 while循環流程圖
從圖中發現,while循環和for循環的執行過程是大致相同的,只不過兩者的循環條件判斷方式有所不同。在一些特定的情況下,不同的循環方式決定了代碼質量的高低。通過以下例子來講述如何使用while循環,代碼如下:

上述代碼只執行一次循環,因為在循環里設置了變量bool的值為False,當第二次循環開始之前,由于條件判斷結果為False,使得第二次循環被終止,從而終止了整個while循環。除此之外,while循環也支持if語句嵌套和循環嵌套,具體的實現方式與for循環是相同的,此處不再詳細講述。
在循環過程中,如果想終止整個循環或者直接跳過當前循環的剩余語句而執行下一輪循環,可以分別使用break語句和continue語句。這兩個語句只能在循環里面使用,如果在循環外使用,程序會提示錯誤信息。以下面的例子來講述如何在for循環和while循環中使用break語句和continue語句,代碼如下:

兩個循環方式分別使用break語句和continue語句,而且實現的功能是非常相似的,這樣可以深入了解兩個語句對不同的循環方式所造成的差異。運行上述代碼,結合運行結果分析兩者的差異,運行結果如圖4-6所示。

圖4-6 break和continue的執行結果
從運行結果可以看出,for循環和while循環都分別循環10次。當變量i等于5的時候,break語句會將整個循環終止,所以列表的元素值只有0到4;而continue語句將當前的循環跳出,繼續執行下一輪的循環,所以列表的元素值從0到9并且不含5。
- R語言數據可視化實戰
- PHP網絡編程學習筆記
- R數據科學實戰:工具詳解與案例分析
- Developing SSRS Reports for Dynamics AX
- Domain-Driven Design in PHP
- 零基礎學C語言(升級版)
- Python函數式編程(第2版)
- Python Programming for Arduino
- Instant Automapper
- 從零開始學UI:概念解析、實戰提高、突破規則
- Android編程權威指南(第4版)
- 自己動手構建編程語言:如何設計編譯器、解釋器和DSL
- INSTANT Lift Web Applications How-to
- Web前端開發實戰教程(HTML5+CSS3+JavaScript)(微課版)
- Selenium WebDriver自動化測試完全指南