我正在尝试在 python 中为一个类创建一个程序,但我不明白为什么我无法获得预期的输出。 该程序将获取用户输入值,直到输入“完成”,然后打印这些值的最大值和最小值。它还对有效输入(数字而非文本)进行一些错误检查。
largest = None
smallest = None
while True:
inp = raw_input("Enter a number: ")
if inp == "done" :
break
try:
num=float(inp)
except:
print "Invalid input"
continue
if inp>largest:
largest=inp
if inp<smallest:
smallest=inp
print "Maximum is ", largest
print "Minimum is ", smallest
如果插入“完成”,循环将正确中断。如果输入文本字符串,它不会失败,但也不会打印“无效输入”。我不是要别人解决我的家庭作业计划,而是要向我解释为什么我从来没有得到最大或最小的值,而不是他们最初分配的“无”。
提前致谢。
请您参考如下方法:
largest = None
smallest = None
num = None
while True:
inp = raw_input("Enter a number: ")
if inp == "done" :
break
try:
num=float(inp)
except:
print ("Invalid input")
continue
if largest is None:
largest = num
smallest = num
if num>largest:
largest=num
if num<smallest:
smallest=num
print ("Maximum is ", largest)
print ("Minimum is ", smallest)
