2015-06-21 65 views
0

我試圖做這個程序,要求用戶輸入,你選擇最小和最大的數字,你放在問題是它確實發現最大值但最低顯示爲無,在這方面的幫助?我只是想了解爲什麼None低於我輸入的數字不是None。是否意味着該變量在用戶替換num之前沒有任何值?謝謝。Python無<0 =真?

smallest = None 

largest = None 

while True: 
    num = raw_input('Enter the values: ') 
     if num == 'done' : break 
     if len(num) < 1 : break 
    try: 
     num = int(num) 

    except: 
     print 'Invalid input' 
     continue 


    if num is None or smallest > num : 
     smallest = num 
    if num is None or num > largest : 
     largest = num 


print 'Maximum is',largest 
print 'Minimum is',smallest 
+0

在python中,'None'被定義爲評估值小於'0'。實際上,它並不是全部數字。就是那樣子。您必須調整您的代碼才能將其考慮在內。 – dbliss

+0

謝謝你的解釋。 – Voix

回答

1

不同類型的Python比較沒有特別的意義。代替使用None作爲你的哨兵,使用大號或小號:

smallest = 1e100 
largest = -1e100 
+0

謝謝你解釋。 – Voix

+3

可能想使用float(' - inf')'和'float('inf')'而不是選擇任意限制...... –

相關問題