淺談Python]程序的分支結(jié)構(gòu)
單分支結(jié)構(gòu):if 語(yǔ)句
Python 中 if 語(yǔ)句的語(yǔ)法格式如下:
if <條件>:
<語(yǔ)句塊>
語(yǔ)句塊是 if 條件滿足后執(zhí)行的一個(gè)或多個(gè)語(yǔ)句序列,語(yǔ)句塊中語(yǔ)句通過(guò)與 if 所在行形成縮進(jìn)表達(dá)包含關(guān)系。if 語(yǔ)句首先評(píng)估條件的結(jié)果值,如果結(jié)果為 True,則執(zhí)行語(yǔ)句塊中的語(yǔ)句序列,然后控制轉(zhuǎn)向程序的下一條語(yǔ)句。 如果結(jié)果為 False,語(yǔ)句塊中的語(yǔ)句會(huì)被跳過(guò)。
if 語(yǔ)句中語(yǔ)句塊執(zhí)行與否依賴于條件判斷。但無(wú)論什么情況,控制都會(huì)轉(zhuǎn)到 if 語(yǔ)句后與該語(yǔ)句同級(jí)別的下一條語(yǔ)句。
if 語(yǔ)句中條件部分可以使用任何能夠產(chǎn)生 True 或 False 的語(yǔ)句或函數(shù)。形成判斷條件最常見(jiàn)的方式是采用關(guān)系操作符。Python 語(yǔ)言共有 6 個(gè)關(guān)系操作符,包括 小于、小于或等于、大于或等于、大于、等于和不等于。
特別注意,Pybon 使用 “=” 表示賦值語(yǔ)句,使用 “==” 表示等于。
下面我們通過(guò)一個(gè)實(shí)例來(lái)更好地掌握 if 語(yǔ)句。
空氣污染是當(dāng)下社會(huì)比較關(guān)注的問(wèn)題,PM2.5 是衡量空氣污染的重要指標(biāo)。PM2.5 是指大氣中直徑小于或等于 2.5 um的可入肺顆粒物。PM2.5 顆粒粒徑小,含大量有毒、有害物質(zhì)且在大氣中停留時(shí)間長(zhǎng)、輸送距離遠(yuǎn),因而對(duì)人體健康和大氣環(huán)境質(zhì)量有很大影響。目前空氣質(zhì)量等級(jí)以 PM2.5 數(shù)值劃分為 6 級(jí)。PM2.5 數(shù)值在 0~35 空氣質(zhì)量為優(yōu),35~75 為良,75~115 為輕度污染,115~150 為中度污染,150~250 為重度污染,250~500 為嚴(yán)重污染。
一個(gè)簡(jiǎn)化版的空氣質(zhì)量標(biāo)準(zhǔn)采用三級(jí)模式: 0~35 為優(yōu),35~75 為良,75 以上為污染。人們也許不關(guān)心 PM2.5 指數(shù)值具體為多少,而更關(guān)心空氣質(zhì)量到底怎樣。計(jì)算機(jī)可以通過(guò) PM2.5 指數(shù)分級(jí)發(fā)布空氣質(zhì)量提醒。
該問(wèn)題的 IPO 描述如下:
輸入:接收外部輸入的 PM2.5 值
處理: if PM2.5值 ≥ 275,打印空氣污染警告 if 35 ≤ PM2.5 值 < 75,打印空氣質(zhì)量良,建議適度戶外運(yùn)動(dòng) if PM2.5 值 < 35,打印空氣質(zhì)量?jī)?yōu),建議戶外運(yùn)動(dòng)
輸出:打印空氣質(zhì)量提醒
具體代碼如下:
PM = eval(input("請(qǐng)輸入 PM2.5 數(shù)值:"))
if 0 <= PM < 35:
print("空氣優(yōu)質(zhì),快去戶外運(yùn)動(dòng)")
if 35 <= PM < 75:
print("空氣良好,適度戶外運(yùn)動(dòng)")
if 75 <= PM:
print("空氣污染,請(qǐng)小心!")
上述例子展示了用數(shù)字進(jìn)行條件比較的例子,字符或字符串也可以用于條件比較。字符串比較本質(zhì)上是字符串對(duì)應(yīng)Unicode編碼的比較,因此,字符串的比較按照字典順序進(jìn)行。例如,英文大寫(xiě)字符對(duì)應(yīng)的 Unicode 編碼比小寫(xiě)字符小。以下是一些例子:
print(4 < 5)
True
print("python" == "python")
True
print("Python" > "python")
False
二分支結(jié)構(gòu):if-else 語(yǔ)句
Python 中 if-else 語(yǔ)句用來(lái)形成二分支結(jié)構(gòu),語(yǔ)法格式如下:
if <條件> :
<語(yǔ)句塊1>
else :
<語(yǔ)句塊2>
語(yǔ)句塊 1 是在 if 條件滿足后執(zhí)行的一個(gè)或多個(gè)語(yǔ)句序列,語(yǔ)句塊 2 是 if 條件不滿足后執(zhí)行的語(yǔ)句序列。
二分支語(yǔ)句用于區(qū)分條件的兩種可能,即 True 或者 False,分別形成執(zhí)行路徑。
我們使用 if-else 語(yǔ)句 對(duì)前面例子的代碼進(jìn)行改進(jìn):
PM = eval(input("請(qǐng)輸入 PM2.5 數(shù)值:"))
if PM >= 75:
print("空氣存在污染,請(qǐng)小心!")
else:
print("空氣沒(méi)有污染,可以開(kāi)展戶外運(yùn)動(dòng)")
二分支結(jié)構(gòu)還有一種更簡(jiǎn)潔的表達(dá)方式, 適合通過(guò)判斷返回特定值,語(yǔ)法格式如下:
<表達(dá)式1> if <條件> else <表達(dá)式2>
其中,表達(dá)式 1/2 一般是數(shù)字類型或字符串類型的一個(gè)值, 此時(shí)代碼可以改為:
PM = eval(input("請(qǐng)輸入 PM2.5 數(shù)值:"))
print("空氣{}污染!".format("存在" if PM >= 75 else "沒(méi)有"))
if-else 的緊湊結(jié)構(gòu)非常適合對(duì)特殊值處理的情況,其他例子如下:
count = 2 print(count if count != 0 else "不存在")
2
count = 0 print(coutn if count != 0 else "不存在")
不存在
多分支結(jié)構(gòu):if-elif-else 語(yǔ)句
Python 的 if-elif-else 描述多分支結(jié)構(gòu),語(yǔ)句格式如下:
if <條件1>:
<語(yǔ)句塊 1>
elif <條件2>:
<語(yǔ)句塊 2>
else:
<語(yǔ)句塊 N>
多分支結(jié)構(gòu)是二分支結(jié)構(gòu)的擴(kuò)展,這種形式通常用于設(shè)置同一個(gè)判斷條件的多條執(zhí)行路徑。
Python 依次評(píng)估尋找第一個(gè)結(jié)果為 True 的條件,執(zhí)行該條件下的語(yǔ)句塊,結(jié)束后跳過(guò)整個(gè) if-elif-else 結(jié)構(gòu),執(zhí)行后面的語(yǔ)句。如果沒(méi)有任何條件成立,else 下面的語(yǔ)句塊將被執(zhí)行。else子句是可選的。
前面的例子通過(guò)多條獨(dú)立的 if 語(yǔ)句對(duì)同一個(gè)變量 PM 進(jìn)行判斷,這種情況更適合多分支結(jié)構(gòu),改進(jìn)后的代碼如下:
PM = eval(input("請(qǐng)輸入 PM2.5 數(shù)值:"))
if 0 <= PM < 35:
print("空氣優(yōu)質(zhì),快去戶外運(yùn)動(dòng)!")
elif 35 <= PM < 75:
print("空氣良好,適度戶外運(yùn)動(dòng)")
else:
print("空氣污染,請(qǐng)小心!")
到此這篇關(guān)于淺談Python]程序的分支結(jié)構(gòu)的文章就介紹到這了,更多相關(guān)Python分支結(jié)構(gòu)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
requests在python中發(fā)送請(qǐng)求的實(shí)例講解
在本篇文章里小編給大家整理的是一篇關(guān)于requests在python中發(fā)送請(qǐng)求的實(shí)例講解內(nèi)容,有興趣的朋友們可以測(cè)試學(xué)習(xí)下。2021-02-02
vscode中配置jupyter的詳細(xì)步驟(徹底解決Failed?to?start?the?Kernel問(wèn)題)
自從vscode出了支持jupyter?notebook的功能之后,我就再也沒(méi)有傻傻的用瀏覽器開(kāi)過(guò)jupyter(問(wèn)就是vscode好看),下面這篇文章主要給大家介紹了關(guān)于vscode中配置jupyter(徹底解決Failed?to?start?the?Kernel問(wèn)題)的相關(guān)資料,需要的朋友可以參考下2022-12-12
Pytorch反向傳播中的細(xì)節(jié)-計(jì)算梯度時(shí)的默認(rèn)累加操作
這篇文章主要介紹了Pytorch反向傳播中的細(xì)節(jié)-計(jì)算梯度時(shí)的默認(rèn)累加操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
每個(gè) Python 開(kāi)發(fā)者都應(yīng)該知道的7種好用工具(效率翻倍)
Python 從一種小的開(kāi)源語(yǔ)言開(kāi)始,到現(xiàn)在,它已經(jīng)成為開(kāi)發(fā)者很受歡迎的編程語(yǔ)言之一。這篇文章主要介紹了每個(gè) Python 開(kāi)發(fā)者都應(yīng)該知道的7種好用工具(效率翻倍),需要的朋友可以參考下2021-03-03
分享4個(gè)方便且好用的Python自動(dòng)化腳本
自動(dòng)化測(cè)試是把以人為驅(qū)動(dòng)的測(cè)試行為轉(zhuǎn)化為機(jī)器執(zhí)行的一種過(guò)程,直白的就是為了節(jié)省人力、時(shí)間或硬件資源,提高測(cè)試效率,這篇文章主要給大家分享介紹了3個(gè)方便且好用的Python自動(dòng)化腳本,需要的朋友可以參考下2022-02-02

