我有一個小的max_min程序,我正在使用Ubuntu 13.04上的python 2.7編寫。該代碼將用戶輸入內部的一個無限循環在兩個條件中斷開。我注意到,當我輸入一個大於9的數字時,程序返回錯誤的結果。我想要做的是每次用戶輸入一個數字時,將該數字與前一個數字進行比較,並獲取用戶輸入的最大和最小數字。raw_input的迭代比較
例如:
Please enter a number:
10
Max: 1, Min: 0, Count: 1
當最大應爲10不是1。這是我的代碼:
count = 0
largest = None
smallest = None
while True:
inp = raw_input('Please enter a number: ')
# Kills the program
if inp == 'done' : break
if len(inp) < 1 : break
# Gets the work done
try:
num = float(inp)
except:
print 'Invalid input, please enter a number'
continue
# The numbers for count, largest and smallest
count = count + 1
# Gets largest number
for i in inp:
if largest is None or i > largest:
largest = i
print 'Largest',largest
# Gets smallest number
for i in inp:
if smallest is None or i < smallest:
smallest = i
print 'Smallest', smallest
print 'Count:', count, 'Largest:', largest, 'Smallest:', smallest
難住了。