小白提问,关于 if 条件判断。

2014-04-14 13:00:18 +08:00
 Elizen
我编写的代码是:

age=raw_input('please enter your age:')

if age >= 18:

print 'your age is', age

print 'adult'

else:

print 'your age is', age

print 'teenager'

然后运行后输入5,得到结果如下:

please enter your age:5

your age is 5

adult

为什么还是adult,不是teenager
3406 次点击
所在节点    Python
11 条回复
alioth310
2014-04-14 13:04:30 +08:00
输入的是字符串,需要把age转化成int
davidli
2014-04-14 13:05:04 +08:00
print('5'>18) 结果是True
需要用int()把输入的string转成Int.
yelite
2014-04-14 13:05:15 +08:00
因为 raw_input 返回的是一个字符串

if 判断可以这么写,int(age) >= 18
lizheming
2014-04-14 13:10:09 +08:00
题外话,为啥不把print "your age is",age 提出来,然后再 print "adult" if age > 18 else "teenager"。
Elizen
2014-04-14 14:35:33 +08:00
@yelite 谢谢啦。
Elizen
2014-04-14 14:36:01 +08:00
@lizheming 我才刚开始....
glasslion
2014-04-14 15:10:37 +08:00
@davidli
@yelite
@Elizen 这是范大爷为了逼你们升到Python3故意留下的坑
dorentus
2014-04-14 15:20:22 +08:00
@glasslion
我倒是觉得像 PHP、Javascript 那样莫名其妙地自动转类型的才是大坑……
glasslion
2014-04-14 16:12:09 +08:00
@dorentus Python3 丢TypeError异常
lizheming
2014-04-14 16:31:57 +08:00
@Elizen 好吧好吧,我就顺带吐个槽,LZ加油~
1130335361
2014-04-14 16:51:31 +08:00
age=int(raw_input('please enter your age:'))

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/108481

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX