python中的If语句错误
我执行了以下代码:python中的If语句错误,python,Python,我执行了以下代码: import sys x=sys.argv[1] print x; if x > 1: print "It's greater than 1" 以下是输出: C:\Python27>python abc.py 0 0 It's greater than 1 怎么会大于1?事实上,if条件应该失败,我的代码是否有任何错误?x是字符串,但1是整数,因此比较类型不匹配。您需要类似于if intx>1:。这是测试字符串。 尝试使用: if int(x)
import sys
x=sys.argv[1]
print x;
if x > 1:
print "It's greater than 1"
以下是输出:
C:\Python27>python abc.py 0
0
It's greater than 1
怎么会大于1?事实上,if条件应该失败,我的代码是否有任何错误?x是字符串,但1是整数,因此比较类型不匹配。您需要类似于if intx>1:。这是测试字符串。 尝试使用:
if int(x) > 1:
print "It's greater than 1"
我对此感到好奇,发现:
因为x=sys.argv[1]中x的类型是str
输出=
所以在python中
>>> '0'>1
True
所以你需要
>>> int('0')>1
False
>>>
哦,太棒了,谢谢。我是一个初学者,刚开始学习python用print x+1替换print x,你会明白的@尼特什:欢迎来到SO。请点击答案左侧的复选标记,接受其中一个正确答案。
>>> int('0')>1
False
>>>