课程
/后端开发
/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程序