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

求解释课程中的思考题

下面两图问题都一样,求解释


http://img1.sycdn.imooc.com//57b47e550001c9fa03660282.jpg

http://img1.sycdn.imooc.com//57b47ec00001335b02200178.jpg

正在回答

7 回答

因为if语句是按顺序判断并且只执行一个条件下的语句,当某个条件满足后就会执行该条件下的语句,而后面的条件会被跳过不会进行判断,比如第一张图,age=20满足age>=6,所以此时执行age>=6条件下的语句,然后跳过后面的条件判断,所以并不会执行age>=18条件下的语句,正确的写法应该是:

if age>=18:

elif age >=6:

else:

图2的写法是正确的

1 回复 有任何疑惑可以回复我~
#1

zhusilun 提问者

非常感谢!
2016-08-18 回复 有任何疑惑可以回复我~

最好是顺序写下,这样既方便观看,而且逻辑有清晰可靠

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

age = 20

if age >= 18:

    print ('adult')

elif age >= 6:

    print ('teenager')

else:

    print ('kid')


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

age=20

if age >= 18:

        print 'adult'

elif age >= 6:

        print 'teenager'

else:

        print 'kids'


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

因为age=18的时候,也满足第一个if age >= 6条件 ,所以执行的时候先执行到 if age >= 6 ,满足条件,直接print teenager了,不会继续往下执行。

改成先判断年龄高的,再判断年龄低的

age=20

if age >= 18:

        print 'adult'

elif age >= 6:

        print 'teenager'

else:

        print 'kids'


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

age = 8

if age >=18:

    print 'adult'

elif  age >=6:

    prirnt 'teenagers'

else:

    print 'kid'


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

age = 8

if age >=18:

    print 'adult'

elif  age

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

举报

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

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

进入课程

求解释课程中的思考题

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