分支結構是程式選擇判斷,從而進行更復雜操作的基礎結構,Python程式中的分支結構,主要有if陳述句建立,
1.判斷條件及組合
程式中的判斷最常見的是使用操作關系符判斷兩個物件的關系,并據此得到True或者False的回傳結果在決定分支方向,因此在學習if分支前,我們需要先學習一下Python中的關系運算子,
簡單演示如下:
>>> 1 > 2
False
>>> 1 < 2
True
>>> 1 <= 2
True
>>> 1 >= 2
False
>>> 1 == 1
True
>>> 1 != 1
False
>>> 0 == False#0和False是等價的
True
>>> 1 == True#任何非0和非空的型別都是True
True
>>> "1" < "2"#字串的比較大小是按照ASCII碼來比較的
True
>>> "Python" < "python"#P的ASCII碼比p的小
True
>>> "1" == "1"#相同字符判斷為True
True
字串是逐位比較,兩個字串第一位字符的ASCII碼誰大,字串就大,不再比較后面的;第一個字符相同就比第二個字串,以此類推,需要注意的是空格的ascii碼是32,空(null)的ascii碼是0,
Python使用not、and、or保留字對條件進行邏輯運算和組合,
not表示單個條件的否關系,即某個條件為True,則not True為False,反之亦然;and表示多個條件的與關系,即只有所有的條件都為True時,and所連接的整個運算式才為True,否則都為False;or表示多個條件的或關系,即只要有一個條件為True,則or所連接的整個運算式就是True,
演示如下:
>>> not 1
False
>>> False and True and True
False
>>> False or True or False
True
2.單分支結構
用if保留字引導的陳述句建立,使用方法如下:
If <判斷運算式>:
<陳述句塊>
程式根據判斷運算式的結果,即True或是False,來決定陳述句塊是否要執行,如果結果為True,則執行陳述句塊,否則不執行,
(程式演示較為復雜,均默認采用IDLE編輯器演示)
演示如下:
if 1:
print("第一條if陳述句被執行了")
if 0:
print("第二條if陳述句被執行了")
#輸出結果只有第一條if陳述句的陳述句塊內容
第一條if陳述句被執行了
3.二分支結構
二分支結構是指兩個分支必定執行其中一個,由保留字if和else建立,使用方法如下:
If <判斷運算式>:
<陳述句塊1>
else:
<陳述句塊2>
當判斷運算式中的結果為True時,陳述句塊1會被執行,陳述句塊2不會被執行;當判斷運算式中的結果為False時,陳述句塊2會被執行,陳述句塊1不會被執行,
演示如下:
a = eval(input("請輸入0或者1:"))
if a:
print("第一條if陳述句被執行了")
else:
print("第二條if陳述句被執行了")
#輸入0時,輸出結果為
請輸入0或者1:0
第二條if陳述句被執行了
#輸入1時,輸出結果為
請輸入0或者1:1
第一條if陳述句被執行了
二分支結構還有一種非常簡潔的書寫方式,適合陳述句塊1和陳述句塊2都是非常簡單的運算式時使用,使用方法如下,
<運算式1> if <條件> else <運算式2>
演示如下:
a = eval(input("請輸入一個數字:"))
take = "" if a%2 else "不"
print("這個數字{}是一個奇數".format(take))
#輸入1時
請輸入一個數字:1
這個數字是一個奇數
#輸入2時
請輸入一個數字:2
這個數字不是一個奇數
4.多分支結構
在程式運行程序中,可能并不只有兩種情況,因此單分支結構和二分支結構顯得不夠靈活,運用elif保留字即可應對程式中更加復雜的情況,使用方法如下:
if <>:
<>
elif <>:
<>
…
else:
<>
其中,你可以添加任意數量的elif分支,演示代碼如下:
a = eval(input("請輸入成績:"))
if a < 60:
print("對不起,你沒有及格")
elif a < 75:
print("恭喜及格了,但只是及格")
elif a < 90:
print("厲害,達到良好水平")
else:
print("太棒了,你優秀!")
在多分支結構中,elif的數量由自己的實際需要增減,且對else沒有強制要求,可以不寫,當未寫else時,多分支結構最后的執行參考單分支結構,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/262795.html
標籤:Python
上一篇:Python串列型別和字典型別
