4 分支語句if
前述章節介紹了資料、表示式和語句等基本概念,程式的基本組成單位是語句。
4.1 程式的基本結構
寫入程式裡的各條語句如果在程式被執行時一條條按順序執行各條語句,那麼這個程式的結構稱之為順序型程式,即每條語句的執行按其書寫時的位置依次執行。順序型結構的程式一般適用於較為簡單的應用環境或者是在學習某語言的初級階段較為常見,更多的實際應用型程式基本都不是這類簡單的順序型結構程式,而是會根據應用場景和條件有選擇的執行整個程式裡的部分**,這種型別結構的程式稱之為分支(選擇)型程式,還有一種程式結構也比較常見就是迴圈體型別的程式,其結構特點是程式裡的某些語句儘管出現一次,但在一定時間內連續被執行了多遍。掌握了這三種程式型別,就掌握了多數計算機語言程式設計的核心,而python語言對於這幾種結構的程式實現都比較容易理解,從而在學習了python語言之後去學習其他語言程式設計,程式核心設計思想已經掌握,學其他語言就不難。
4.1.1 順序程式
最簡單的程式就是順序結構的程式設計,這類程式較簡單,一般出現學習某語言的初級階段,可以很好的學習某語言的基礎知識,例如:求兩數之和這類問題基本用順序結構的程式就可完成。
a = 12
b = 13
c = a + b
print "c =", c
4.1.2 分支程式
分支程式的特點是程式被執行時根據一定的條件有些語句沒有機會被執行,滿足某條件的時候執行一部分語句,不滿足時執行另一部分語句,即有選擇性的執行部分語句,即分支型結構的程式。這樣可以看出分支程式有三個部分:條件、條件滿足時執行的語句和條件不滿足時執行的語句。
if語句結構
條件一般是關係表示式,條件介於if關鍵字和冒號(:)之間,在if之下是條件滿足時需要執行的語句,可以多條語句稱之為語句塊。 與if對齊的else下面的語句是條件不滿足時執行的語句,需要注意的是else後有冒號但沒有條件。 還有乙個為多數初學者不太習慣的地方就是,if和else下的每條語句前都要按一下tab鍵進行縮排對齊,很多人不太習慣。
if 條件:
語句1語句2
else:
語句a語句b
以判斷是否為**公民為例展示一下if分支程式的使用。
a = 12
if a < 18:
print a
print "young!"
else:
print a
print "adult!"
程式裡的a變數的值為12,對於if分支語句的條件"a < 18"的關係表示式計算結果為真(true),故整個if_else分支語句結構的條件為真,執行if語句下的兩條語句,列印了"young!"字串。
如果a被賦值大於18,例如a = 20,那麼條件"a < 18"為假(false)執行else語句下的兩條語句,列印出"adult!"字串。
由此可見,從**的第2行到第7行,由於第2行的if的條件"a < 18"的滿足與否決定執行語句**第3~4行還是語句**塊第6~7行,故整個程式被執行的時候會依據情況(條件)有選擇的執行某些語句。
4.1.3 迴圈體結構程式
本章不重點講解迴圈體,只是展示一下迴圈體結構的程式特點,後續章節會結合其他集合資料型別綜合展示迴圈體的魅力。迴圈體和分支在python裡的結構差別僅僅需要將if換成while即可,但迴圈體不像分支if那樣其下的語句塊只被執行一次,while迴圈體下的語句塊可能會被執行多次,即while後的條件滿足執行其下語句塊內容,執行完畢後又會回到while再看看其條件是否滿足,如果滿足執行其下語句序列塊,周而復始,直到某次回到while這行看條件滿足嘛?不滿足執行其else下的語句塊,從而完成迴圈,因此在while下的語句塊裡一般要有修改某變數的語句從而影響while的條件的真和假的可能。
a = 12
while a < 18:
print a
print "young!"
a = a + 1
else:
print a
print "adult"
本節while程式和上節的if程式幾乎一樣,區別在於if換成了while,while下多了一條a = a + 1語句,正是這條a = a + 1語句的不斷地被重複才使得條件a < 18由真真…最終可能被變成假。
4.2 其他分支結構
4.2.1單分支
if_else分支結構的else可以不出現,只有if即單分支。
a = 12
if a > 20:
print "lager than 20"
b = 13
4.2.2 多分支
if_else是二分支結構只有乙個可判斷的條件,而python裡有多條件判斷的分支結構,實現多個條件的判斷和乙個else,其結構如下所示:
if 條件1:
語句elif 條件2:
語句elif 條件3:
語句else:
語句舉個多分支結構的簡單例子:列印成績評定優、良、中、及格、不及格的評級程式。
a = 65 # 55 75 85 95
if a >= 90:
print "you"
elif a >= 80:
print "liang"
elif a >= 70:
print "zhong"
elif a >= 60:
print "ji ge"
else:
print "bu ji ge"
4.3 分支的巢狀
if_else分支語句其下的語句塊裡的語句也可有if_else語句即分支的巢狀,上節的評級程式可以用if巢狀來完成。
a = 55
if a >= 60:
if a >= 70:
if a >= 80:
if a >= 90:
print "you"
else:
print "liang"
else:
print "zhong"
else:
print "ji ge"
else:
print "bu ji ge"
分支結構控制語句與迴圈結構控制語句(Python)
if 條件表示式 語句體if 條件表示式 語句體1 else 語句體2if 條件表示式 語句體1 elif 語句表示式2 語句體2 elif 語句表示式 n 1 語句體n 1else 語句體nx 5if x 0 y 1else y 0可用三元運算改寫為 x 5y 1if x 0 else 0whil...
python分支語句
判斷語句 if if 要判斷的條件 條件成立的時,要做的事情 else 條件不成立的時候,要做的事情 注意 的縮排為乙個tab鍵,或者四個空格 tab鍵和空格不要混用 age 13 if age 18 print 允許進入網咖 else print 未成年,不允許進入網咖 print 邏輯運算子 a...
Python 分支語句
比較運算是發生在兩個同型別資料間的一種操作,比較運算是使用固定的比對規則對兩個資料進行比對,如果比較表示式子成立得到結果true,如果不成立,得到結果false 符號 說明 判斷兩個運算元的值是否相等,成立為true 判斷兩個運算元的值是否不相等,成立為true 判斷左運算元是否大於右運算元,成立為...