課程
/后端開發
/Python
/初識Python
當age = 8時,結果正確,但age = 20時,為什么沒有打印出adult?該怎么修復?
2019-01-09
源自:初識Python 5-3
正在回答
修復后 :
age = 20
if age >= 18:
? ? print 'adult'
elif age >= 6:
? ? print 'teenager'
else:
? ? print 'kid'
解答:主要是順序問題。一系列條件判斷會從上到下依次判斷,如果某個判斷為 True,執行完對應的代碼塊,后面的條件判斷就直接忽略,不再執行了。
所以,原題中?
if?age?>=?6: ????print?'teenager'
這個代碼塊是正確的,所以就不再往下執行了。
源代碼: age?=?8 if?age?>=?6: ????print?'teenager' elif?age?>=?18: ????print?'adult' else: ????print?'kid'
當age = 8時,滿足第一個條件,會輸出 teenager,我理解的,if語句如果判斷是True的話,是不會執行elif代碼的.
當age = 20時 依然滿足了第一個條件,所以依然輸出的是 teenager,不會進入elif代碼塊了,所以不會輸出adult
修復的話,就把age >= 18,和age>=6換下位置,當然,輸出的print語句也跟著換
舉報
學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-01-09
修復后 :
age = 20
if age >= 18:
? ? print 'adult'
elif age >= 6:
? ? print 'teenager'
else:
? ? print 'kid'
解答:主要是順序問題。一系列條件判斷會從上到下依次判斷,如果某個判斷為 True,執行完對應的代碼塊,后面的條件判斷就直接忽略,不再執行了。
所以,原題中?
這個代碼塊是正確的,所以就不再往下執行了。
2019-01-09
當age = 8時,滿足第一個條件,會輸出 teenager,我理解的,if語句如果判斷是True的話,是不會執行elif代碼的.
當age = 20時 依然滿足了第一個條件,所以依然輸出的是 teenager,不會進入elif代碼塊了,所以不會輸出adult
修復的話,就把age >= 18,和age>=6換下位置,當然,輸出的print語句也跟著換