我在 Ubuntu 13.04 上用 python 2.7 编写了一个小的 max_min 程序。该代码在无限循环中接受用户输入,该循环在两个条件下中断。我注意到当我输入一个大于 9 的数字时,程序会返回不正确的结果。我想要做的是每次用户输入数字时,将数字与之前的数字进行比较,并获取用户输入的最大和最小数字。
例如:
Please enter a number:
10
Max: 1, Min: 0, Count: 1
当 Max 应该是 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
难住了。