淺談Python]程序的分支結(jié)構(gòu)
單分支結(jié)構(gòu):if 語句
Python 中 if 語句的語法格式如下:
if <條件>:
<語句塊>
語句塊是 if 條件滿足后執(zhí)行的一個(gè)或多個(gè)語句序列,語句塊中語句通過與 if 所在行形成縮進(jìn)表達(dá)包含關(guān)系。if 語句首先評(píng)估條件的結(jié)果值,如果結(jié)果為 True,則執(zhí)行語句塊中的語句序列,然后控制轉(zhuǎn)向程序的下一條語句。 如果結(jié)果為 False,語句塊中的語句會(huì)被跳過。
if 語句中語句塊執(zhí)行與否依賴于條件判斷。但無論什么情況,控制都會(huì)轉(zhuǎn)到 if 語句后與該語句同級(jí)別的下一條語句。
if 語句中條件部分可以使用任何能夠產(chǎn)生 True 或 False 的語句或函數(shù)。形成判斷條件最常見的方式是采用關(guān)系操作符。Python 語言共有 6 個(gè)關(guān)系操作符,包括 小于、小于或等于、大于或等于、大于、等于和不等于。
特別注意,Pybon 使用 “=” 表示賦值語句,使用 “==” 表示等于。
下面我們通過一個(gè)實(shí)例來更好地掌握 if 語句。
空氣污染是當(dāng)下社會(huì)比較關(guān)注的問題,PM2.5 是衡量空氣污染的重要指標(biāo)。PM2.5 是指大氣中直徑小于或等于 2.5 um的可入肺顆粒物。PM2.5 顆粒粒徑小,含大量有毒、有害物質(zhì)且在大氣中停留時(shí)間長、輸送距離遠(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è)簡化版的空氣質(zhì)量標(biāo)準(zhǔn)采用三級(jí)模式: 0~35 為優(yōu),35~75 為良,75 以上為污染。人們也許不關(guān)心 PM2.5 指數(shù)值具體為多少,而更關(guān)心空氣質(zhì)量到底怎樣。計(jì)算機(jī)可以通過 PM2.5 指數(shù)分級(jí)發(fā)布空氣質(zhì)量提醒。
該問題的 IPO 描述如下:
輸入:接收外部輸入的 PM2.5 值
處理: if PM2.5值 ≥ 275,打印空氣污染警告 if 35 ≤ PM2.5 值 < 75,打印空氣質(zhì)量良,建議適度戶外運(yùn)動(dòng) if PM2.5 值 < 35,打印空氣質(zhì)量優(yōu),建議戶外運(yùn)動(dòng)
輸出:打印空氣質(zhì)量提醒
具體代碼如下:
PM = eval(input("請輸入 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("空氣污染,請小心!")
上述例子展示了用數(shù)字進(jìn)行條件比較的例子,字符或字符串也可以用于條件比較。字符串比較本質(zhì)上是字符串對(duì)應(yīng)Unicode編碼的比較,因此,字符串的比較按照字典順序進(jìn)行。例如,英文大寫字符對(duì)應(yīng)的 Unicode 編碼比小寫字符小。以下是一些例子:
print(4 < 5)
True
print("python" == "python")
True
print("Python" > "python")
False
二分支結(jié)構(gòu):if-else 語句
Python 中 if-else 語句用來形成二分支結(jié)構(gòu),語法格式如下:
if <條件> :
<語句塊1>
else :
<語句塊2>
語句塊 1 是在 if 條件滿足后執(zhí)行的一個(gè)或多個(gè)語句序列,語句塊 2 是 if 條件不滿足后執(zhí)行的語句序列。
二分支語句用于區(qū)分條件的兩種可能,即 True 或者 False,分別形成執(zhí)行路徑。
我們使用 if-else 語句 對(duì)前面例子的代碼進(jìn)行改進(jìn):
PM = eval(input("請輸入 PM2.5 數(shù)值:")) if PM >= 75: print("空氣存在污染,請小心!") else: print("空氣沒有污染,可以開展戶外運(yùn)動(dòng)")
二分支結(jié)構(gòu)還有一種更簡潔的表達(dá)方式, 適合通過判斷返回特定值,語法格式如下:
<表達(dá)式1> if <條件> else <表達(dá)式2>
其中,表達(dá)式 1/2 一般是數(shù)字類型或字符串類型的一個(gè)值, 此時(shí)代碼可以改為:
PM = eval(input("請輸入 PM2.5 數(shù)值:")) print("空氣{}污染!".format("存在" if PM >= 75 else "沒有"))
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 語句
Python 的 if-elif-else 描述多分支結(jié)構(gòu),語句格式如下:
if <條件1>:
<語句塊 1>
elif <條件2>:
<語句塊 2>
else:
<語句塊 N>
多分支結(jié)構(gòu)是二分支結(jié)構(gòu)的擴(kuò)展,這種形式通常用于設(shè)置同一個(gè)判斷條件的多條執(zhí)行路徑。
Python 依次評(píng)估尋找第一個(gè)結(jié)果為 True 的條件,執(zhí)行該條件下的語句塊,結(jié)束后跳過整個(gè) if-elif-else 結(jié)構(gòu),執(zhí)行后面的語句。如果沒有任何條件成立,else 下面的語句塊將被執(zhí)行。else子句是可選的。
前面的例子通過多條獨(dú)立的 if 語句對(duì)同一個(gè)變量 PM 進(jìn)行判斷,這種情況更適合多分支結(jié)構(gòu),改進(jìn)后的代碼如下:
PM = eval(input("請輸入 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("空氣污染,請小心!")
到此這篇關(guān)于淺談Python]程序的分支結(jié)構(gòu)的文章就介紹到這了,更多相關(guān)Python分支結(jié)構(gòu)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)國外賭場熱門游戲Craps(雙骰子)
這篇文章主要介紹了Python實(shí)現(xiàn)國外賭場熱門游戲Craps(雙骰子)的源碼及運(yùn)行方法,十分簡單,有需要的小伙伴可以參考下。2015-03-03python中windows鏈接linux執(zhí)行命令并獲取執(zhí)行狀態(tài)的問題小結(jié)
這篇文章主要介紹了python中windows鏈接linux執(zhí)行命令并獲取執(zhí)行狀態(tài),由于工具是pyqt寫的所以牽扯到用python鏈接linux的問題,這里記錄一下一些碰到的問題,需要的朋友可以參考下2022-11-11在樹莓派2或樹莓派B+上安裝Python和OpenCV的教程
這篇文章主要介紹了在樹莓派2或樹莓派B+上安裝Python和OpenCV的教程,主要基于GTK庫,并以Python2.7和OpenCV 2.4.X版本的安裝作為示例,需要的朋友可以參考下2015-03-03Python基礎(chǔ)知識(shí)之函數(shù),類,模塊
今天小編就為大家分享一篇Python函數(shù),類,模塊,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-10-10pytest實(shí)現(xiàn)測試用例參數(shù)化
這篇文章主要介紹了pytest實(shí)現(xiàn)測試用例參數(shù)化,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04