if單分支
if
單分支的語法結(jié)構如下:
if <條件>:
語句塊
- 注意條件語句結(jié)束后要緊跟冒號
- 語句塊是
if
條件滿足條件后執(zhí)行的一條或多條語句組 - 語句塊中的語句通過縮進與
if
語句所在的行形成包含關系 - 縮進按照規(guī)范為4個空格
if
單分支的執(zhí)行流程圖如下:
if
語句首先會計算<條件>
表達式,如果結(jié)果為Ture
則會執(zhí)行所包含的語句塊美尸,結(jié)果為False
則會跳過所包含的語句塊舀射。if
結(jié)構中的語句塊的執(zhí)行是否依賴條件判讀,但無論什么情況耸成,控制都會轉(zhuǎn)到if
結(jié)構的下一條語句敛腌。
案例:成績是否及格
-
input
函數(shù)
input
函數(shù)用來接收用戶輸入,然后以字符串的形式返回,它接收字符串參數(shù)作為提示信息輸出健田。
>>> score = input('請輸入你的成績>>>:')
請輸入你的成績>>>:100
>>> print(score, type(score))
100 <class 'str'>
案例代碼:
>>> score = input('請輸入你的成績>>>:')
請輸入你的成績>>>:90
>>> score = float(score) # 轉(zhuǎn)換類型
>>> if score < 60:# 判斷
... print('沒及格,賞一巴掌')
>>> if score >= 60:
... print('有進步佛纫,么么噠抄课,親一下')
'有進步唱星,么么噠,親一下'
二分支
二分支的語法結(jié)構如下:
if <條件>:
<語句塊1>
else:
<語句塊2>
<語句塊1>
是在條件滿足后執(zhí)行的一條或多條語句組<語句塊2>
是在條件不滿足后執(zhí)行的一條或多條語句組注意縮進跟磨,
<語句塊2>
也是通過4個空格的縮進與else
形成包含關系间聊。
二分支的執(zhí)行流程圖如下:
二分支語句用于區(qū)分<條件>
的兩種可能,True
或者False
抵拘,分別形成執(zhí)行路徑哎榴。
案例: 成績是否及格(2)
通過二分支改進案例成績是否及格
>>> score = input('請輸入你的成績>>>:')
請輸入你的成績>>>:90
>>> score = float(score) # 轉(zhuǎn)換類型
>>> if score < 60: # 判斷
... print('沒及格,賞一巴掌')
... else:
print('有進步僵蛛,么么噠尚蝌,親一下')
'有進步,么么噠充尉,親一下'
三目運算
二分支結(jié)構還有一種更簡潔的表達方式飘言,語法格式如下:
<表達式> if <條件> else <表達式2>
適合代碼塊為1行語句時,這種方式等價于C語言的三目運算符
驼侠。
改寫上面的案例代碼如下:
>>> score = input('請輸入你的成績>>>:')
請輸入你的成績>>>:90
>>> score = float(score) # 轉(zhuǎn)換類型
>>> print('沒及格姿鸿,賞一巴掌') if score < 60 else print('有進步,么么噠倒源,親一下')
'有進步苛预,么么噠,親一下'
看起來是不是整潔很多笋熬。對于簡單判斷热某,三目運算可以將多行語句寫成一行,簡潔明了胳螟。
多分支
二分支的語法結(jié)構如下:
if <條件1>:
<代碼塊1>
elif <條件2>:
<代碼塊2>
...
else:
<代碼塊3>
多分支是二分支的擴展昔馋,用于多個判斷條件多條執(zhí)行路徑的情況。
多分支的執(zhí)行流程圖如下:
python依次執(zhí)行判斷條件糖耸,尋找第一個結(jié)果為True的條件绒极,執(zhí)行該條件下的代碼塊,同時結(jié)束后跳過整個if-elif-else
結(jié)構蔬捷,執(zhí)行后面的語句。如果沒有任何條件成立榔袋,則執(zhí)行else下的代碼塊周拐,且else語句是可選的,也即是說可以沒有else語句凰兑。
案例:成績評價
上面的案例對成績的評價太過粗糙了妥粟,通過多分支改進上面的案例。
請根據(jù)用戶輸入的成績吏够,按一下等級分區(qū):
- < 40: E
- 40-60: D
- 60-75: C
- 75-85: B
- 85-100: A
>>> score = input('請輸入你的成績>>>:')
請輸入你的成績>>>:90
>>> score = float(score) # 轉(zhuǎn)換類型
>>> if score < 40: # 判斷
... print('等級:E')
... elif 40<= score < 60:
... print('等級:D')
... elif 60<= score < 75:
... print('等級:C')
... elif 75<= score < 85:
... print('等級:B')
... else:
... print('等級:A')
等級:A