在100分的考試當(dāng)中,分?jǐn)?shù)達(dá)到或超過(guò)90分是頂尖的,達(dá)到或超過(guò)80分是優(yōu)秀的,如果想對(duì)達(dá)到或者超過(guò)60分的學(xué)生進(jìn)行不同的分類,使用if-else進(jìn)行判斷,代碼如下:
score = 59 if score < 60: print('抱歉,考試不及格') else: if score >= 90: print('恭喜你,拿到卓越的成績(jī)') else: if score >= 80: print('恭喜你,拿到優(yōu)秀的成績(jī)') else: print('恭喜你,考試及格')
在這個(gè)程序里,我們做了多次分類,第一次,我們把低于60分和大于等于60分的分開,第二次,我們把大于等于90分和小于90分的分開,第三次,我們把大于等于80分和小于80分的分開。
這樣寫,我們得到一個(gè)兩層嵌套的if-else語(yǔ)句,這樣的實(shí)現(xiàn)可以滿足我們的要求,但是如果繼續(xù)增加條件,比如繼續(xù)判斷高于70分和低于70分的話,那么這個(gè)代碼將會(huì)縮進(jìn)越來(lái)越多,代碼邏輯看起來(lái)也不夠清晰。
我們可以使用if-elif-else語(yǔ)句來(lái)簡(jiǎn)化以上的邏輯。其中elif就是else if的意思。
score = 59 if score < 60: print('抱歉,考試不及格') elif score >= 90: print('恭喜你,拿到卓越的成績(jī)') elif score >= 80: print('恭喜你,拿到優(yōu)秀的成績(jī)') else: print('恭喜你,考試及格')
這樣,我們就可以寫出代碼結(jié)構(gòu)非常清晰的一系列條件判斷了。
特別注意: 這一系列條件判斷會(huì)從上到下依次判斷,如果某個(gè)判斷為 True,執(zhí)行完對(duì)應(yīng)的代碼塊,后面的條件判斷就直接忽略,不再執(zhí)行了。
請(qǐng)思考以下代碼將會(huì)輸出什么?為什么不輸出恭喜你,拿到卓越的成績(jī)
。
score = 95 if score < 60: print('抱歉,考試不及格') elif score >= 80: print('恭喜你,拿到優(yōu)秀的成績(jī)') elif score >= 90: print('恭喜你,拿到卓越的成績(jī)') else: print('恭喜你,考試及格')
如果年齡達(dá)到18歲,則是成年人,如果年齡6歲到18歲,則是青少年,如果年齡3歲到6歲,則是小孩子,如果年齡在3歲以下,則是嬰兒,請(qǐng)使用if-elif-else語(yǔ)句實(shí)現(xiàn)邏輯,如果成年,輸出'adult',如果是青少年,輸出'teenager',如果是小孩子,輸出kid,如果是嬰兒,輸出baby。
多個(gè)條件判斷需要使用多個(gè)elif。
參考答案:
age = 1 if age >= 18: print('adult') elif age >= 6: print ('teenager') elif age >= 3: print ('kid') else: print ('baby')
請(qǐng)驗(yàn)證,完成請(qǐng)求
由于請(qǐng)求次數(shù)過(guò)多,請(qǐng)先驗(yàn)證,完成再次請(qǐng)求
打開微信掃碼自動(dòng)綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書簽
舉報(bào)