这个怎么弄
请思考下面的代码:
age = 8 if age >= 6: print 'teenager' elif age >= 18: print 'adult' else: print 'kid'
当 age = 8 时,结果正确,但 age = 20 时,为什么没有打印出 adult?
如果要修复,应该如何修复?
请思考下面的代码:
age = 8 if age >= 6: print 'teenager' elif age >= 18: print 'adult' else: print 'kid'
当 age = 8 时,结果正确,但 age = 20 时,为什么没有打印出 adult?
如果要修复,应该如何修复?
2016-04-01
题主的代码有个逻辑上的小漏洞,我们来分析下:
## 题主的代码 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'
举报