一些python练习并需要一些输入

时间:2016-10-05 17:42:22

标签: python python-2.7

这是练习。

  

编写一个反复提示用户输入整数的程序   直到用户输入'完成'。输入“完成”后,打印出来   最大和最小的数字。如果用户输入任何其他内容   比一个有效的数字用try / except抓住它并推出一个   适当的消息并忽略该号码。输入数字   预定问题5.1并匹配所需的输出,如图所示。

结果应为:

Invalid input  
Maximum is 7  
Minimum is 4

我的代码:

largest = None
smallest = None
while True:
    num = raw_input("Enter a number: ")        
    if num == "done" : break
    if len(num) < 1 : break        
    try :
        num = int(num)
    except :    
        print "Invalid input"
        continue        
print "Maximum", largest
print "Minimum", smallest

为什么程序没有打印出最大和最小的?
我做错了什么?

1 个答案:

答案 0 :(得分:0)

您从未输入最大和最小的值。

largest = float('-inf') # Always smaller than any number
smallest = float('inf') # Always larger than any number
while True:
    num = raw_input("Enter a number: ")        
    if num == "done" : break
    if len(num) < 1 : break        
    try :
        num = int(num)
    except :    
        print "Invalid input"
        continue
    # set largest and smallest
    # initial inf forces first entry to reset the value
    largest = max(largest, num)
    smallest = min(smallest, num)
    # Because None is always smaller than any integer

print "Maximum", largest
print "Minimum", smallest