这是练习。
编写一个反复提示用户输入整数的程序 直到用户输入'完成'。输入“完成”后,打印出来 最大和最小的数字。如果用户输入任何其他内容 比一个有效的数字用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
为什么程序没有打印出最大和最小的?
我做错了什么?
答案 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