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整除的數。
推薦閱讀: