2010-03-30 18 views
3

如果輸入數字小於0,但希望程序退出,但sys.exit()沒有做到這一點。這是我現在所擁有的:當參數小於0時退出python程序

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

if number <= 0: 
    print "Invalid number! Must be greater than 0" 
    sys.exit() 

回答

10

由於number是一個字符串,所以您的測試失敗。

>>> '-1' <= 0 
False 

您需要number轉換爲整數:

number = int(sys.argv[1]) 

注意的是Python 3.0的代碼會給出錯誤,讓你找到自己的錯誤更容易:

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