Python流程式控制制

之前編寫的程序都是順序結構的,即依次執行程序中的每條語句。但實際的程序並非如此簡單,經常要用到條件判斷或反覆執行某一個程序段,這就要用到條件語句和循環語句。本節主要介紹流程式控制制,主要是條件語句、循環語句和跳轉語句。

一、條件語句

  • 條件語句能夠改變Python程序的執行流程,是執行這個代碼塊還是另一個代碼塊。
  • 凡是需要判斷來確定下一步如何執行的程序都要使用條件語句。

1、if/else語句

  • 單分支

格式:if(表達式): 語句序列功能:如果條件表達式的值為真,則執行後面的語句序列。


例:判斷用戶的輸入,如果輸入的數值大於0,則在屏幕上顯示「正數」。

執行結果

  • 雙分支

格式:if(表達式): 語句序列1else: 語句序列2功能:如果「條件表達式」的判斷結果為真,則執行語句序列1;否則,執行語句序列2。


例:判斷用戶的輸入,如果輸入的數值大於0,則在屏幕上顯示「正數」;否則在屏幕上顯示「不是正數」。

執行結果:

2、if…elif…else語句

  • if/elif語句是if語句的擴展版本,它包含多個條件,用於作出複雜的決策。

例:假設航空公司提供了兒童優惠票價:不超過2歲的兒童免票;2-13歲的兒童打折;13歲及以上兒童與成人同價。

執行結果:

3、if語句嵌套

  • if 語句內還可以使用if語句,這樣就構成了if語句的嵌套。

格式:if(表達式1): if(表達式2):語句序列1 elif(表達式3):語句序列2 …else:語句序列3elif(表達式n): …else: …


例: 輸入三個整數,輸出最大數

執行結果:

4、條件表達式

  • Python也有類似於C++的條件表達式,其格式為:

表達式1 if 表達式2 else 表達式3功能:先計算表達式2的值,如果其值為真,則表達式1的值就是整個表達式的值;否則表達式3的值就是整個表達式的值。


例:求兩個數a和b中最大值

執行結果:

二、循環語句

  • 循環用於重複地執行代碼塊。
  • Python中有兩種主要的循環:for循環和while循環。
  • for循環通常比while循環更容易使用,也不那麼容易出錯,但沒有while循環靈活。

1、for循環

格式:for 變數 in 集合: …功能:每次從集合中取出一個值,並把值賦給變數。集合可以是元組、列表、字典等數據結構。說明:for循環通常與range()函數一起使用,range()函數返回一個列表,for循環遍歷列表中的元素。Range()函數格式:range(start,stop[,step]),參數start表示列表開始值,默認為0;參數stop表示列表結束值,不能預設,循環到stop-1停止;參數step表示步長,默認值為1。


for循環示例

執行結果:

2、while循環

格式:while 條件表達式: 語句序列功能:當條件表達式為真時,依次執行while中的語句,直到循環表達式的值為假。


例:求1+2+3+…+100

3、for循環和while循環比較

一般來說,固定次數的循環問題使用for循環和while循環都可以解決,而循環次數不固定的循環問題只能使用while循環解決。


例:分別使用for和while循環計算n!

使用for循環:

使用while循環:

5、循環嵌套

與條件語句相同,循環也可以嵌套。


例:輸出乘法九九表。

執行結果:

三、跳轉語句

  • 與C、C++類似,在Python中除了提供順序執行和選擇控制、循環控制語句外,還提供了一類跳轉語句。這類語句的總體功能是中斷當前某段程序的執行,並跳轉到程序的其他位置繼續執行。
  • Python的跳轉語句有:break語句和continue語句。

跳轉語句的作用及區別:1.break語句的作用是:結束當前正在執行的循環(for、while),轉而執行這些結構後面的語句。2.continue語句的


作用是:結束當前正在執行的這一次循環(for、while),接著執行下一次循環。即跳過循環體中尚未執行的語句,接著進行下一次是否執行循環的判定。3.continue語句和break語句的區別是:continue語句只結束本次循環,而不是終止整個循環的執行。而break語句則是結束整個循環,不再進行條件判斷。例:計算未知個數數字的總和(利用break語句)

例:輸出1~100之間的不能被7整除的數。


推薦閱讀:

TAG:Python | Python入門 | Python開發 |