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