Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中的If语句错误_Python - Fatal编程技术网

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
>>>