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

这个怎么弄

请思考下面的代码:

age = 8 if age >= 6:    print 'teenager' elif age >= 18:    print 'adult' else:    print 'kid'

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

如果要修复,应该如何修复?

正在回答

4 回答

题主的代码有个逻辑上的小漏洞,我们来分析下:

## 题主的代码
age = 8 
if age >= 6:
    print 'teenager' 
elif age >= 18:
    print 'adult' 
else:
    print 'kid'
    
## 解析: 题主写的这个判断组合语句,只有两种情况: 
## 1.  8及大于8的数会 进入if语句
## 2.  小于8的数会 进入else 语句
## 这样的话,中间的  elif age >= 18: 就没有作用了

其实稍微修改下就是正确的逻辑了,当然写法有很多种,我在这边选其中一种举例:

age = 8

if age >= 18:
    print 'adult'
elif age >= 6:
    print 'teenager'
else:
    print 'kid'


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

淡月清风0 提问者

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

你这逻辑明显有问题啊,要想判断语句只写一半,那个限制条件最好用小于号判断

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

age = 20
if age >= 18:   
    print 'adult'
elif age < 6:   
    print 'kid'
else:  
    print 'teenager'

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

逻辑有问题,改成age = 8 if age >= 18:    print 'adult' elif age >= 6:    print 'teenager' else:    print 'kid'

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

举报

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

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

进入课程

这个怎么弄

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