詳解Python if-elif-else知識點
有的時候,一個 if … else … 還不夠用。比如,根據(jù)年齡的劃分:
條件1:18歲或以上:adult
條件2:6歲或以上:teenager
條件3:6歲以下:kid
Python if-elif-else知識點
if age >= 18: print 'adult' else: if age >= 6: print 'teenager' else: print 'kid'
這樣寫出來,我們就得到了一個兩層嵌套的 if … else … 語句。這個邏輯沒有問題,但是,如果繼續(xù)增加條件,比如3歲以下是 baby:
if age >= 18: print 'adult' else: if age >= 6: print 'teenager' else: if age >= 3: print 'kid' else: print 'baby'
這種縮進只會越來越多,代碼也會越來越難看。
要避免嵌套結(jié)構(gòu)的 if … else …,我們可以用 if … 多個elif … else … 的結(jié)構(gòu),一次寫完所有的規(guī)則:
if age >= 18: print 'adult' elif age >= 6: print 'teenager' elif age >= 3: print 'kid' else: print 'baby'
elif 意思就是 else if。這樣一來,我們就寫出了結(jié)構(gòu)非常清晰的一系列條件判斷。
特別注意: 這一系列條件判斷會從上到下依次判斷,如果某個判斷為 True,執(zhí)行完對應的代碼塊,后面的條件判斷就直接忽略,不再執(zhí)行了。
請思考下面的代碼:
age = 8 if age >= 6: print 'teenager' elif age >= 18: print 'adult' else: print 'kid'
當 age = 8 時,結(jié)果正確,但 age = 20 時,為什么沒有打印出 adult?
如果要修復,應該如何修復?
任務
如果按照分數(shù)劃定結(jié)果:
90分或以上:excellent
80分或以上:good
60分或以上:passed
60分以下:failed
請編寫程序根據(jù)分數(shù)打印結(jié)果。
答案
score = 85
if score >= 90:
print 'excellent'
elif score >= 80:
print 'good'
elif score >= 60:
print 'passed'
else :
print 'failed'
相關(guān)文章
Pycharm虛擬環(huán)境創(chuàng)建并使用命令行指定庫的版本進行安裝
Pycharm創(chuàng)建的項目,使用了虛擬環(huán)境,對庫的版本進行管理,有些項目的對第三方庫的版本要求不同,可使用虛擬環(huán)境進行管理,直接想通過pip命令安裝可以參考下本文的操作步驟2022-07-07使用numpy實現(xiàn)矩陣的翻轉(zhuǎn)(flip)與旋轉(zhuǎn)
這篇文章主要介紹了使用numpy實現(xiàn)矩陣的翻轉(zhuǎn)(flip)與旋轉(zhuǎn),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06Python中使用bidict模塊雙向字典結(jié)構(gòu)的奇技淫巧
bidict模塊通過一對一映射結(jié)構(gòu)的處理為Pyhton帶來雙向字典,能夠更加利用Python的切片功能,這里我們就來學習Python中使用bidict模塊雙向字典結(jié)構(gòu)的奇技淫巧:2016-07-07如何實現(xiàn)在遠程linux服務器上運行python代碼
這篇文章主要介紹了如何實現(xiàn)在遠程linux服務器上運行python代碼問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12