为了账号安全,请及时绑定邮箱和手机立即绑定

怎么修复?

当age = 8时,结果正确,但age = 20时,为什么没有打印出adult?该怎么修复?

正在回答

2 回答

修复后 :

age = 20

if age >= 18:

    print 'adult'

elif age >= 6:

    print 'teenager'

else:

    print 'kid'

解答:主要是顺序问题。一系列条件判断会从上到下依次判断,如果某个判断为 True,执行完对应的代码块,后面的条件判断就直接忽略,不再执行了。

所以,原题中 

if age >= 6:
    print 'teenager'

这个代码块是正确的,所以就不再往下执行了。

0 回复 有任何疑惑可以回复我~
源代码:
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语句也跟着换

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758623    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

怎么修复?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信