当参数小于0时退出python程序

Sam*_*Sam 3 python

如果输入的数字小于0,我希望程序退出,但是sys.exit()没有做到这一点.这就是我现在拥有的:

if len( sys.argv ) > 1:
    number = sys.argv[1]

if number <= 0:
    print "Invalid number! Must be greater than 0"
    sys.exit()
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 10

您的测试失败,因为number是一个字符串.

>>> '-1' <= 0
False
Run Code Online (Sandbox Code Playgroud)

您需要转换number为整数:

number = int(sys.argv[1])
Run Code Online (Sandbox Code Playgroud)

请注意,在Python 3.0中,您的代码会出错,让您更容易找到错误:

>>> '-1' <= 0
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    '-1' <= 0
TypeError: unorderable types: str() <= int()
Run Code Online (Sandbox Code Playgroud)