【发布时间】:2020-02-11 02:23:36
【问题描述】:
largest = None
smallest = None
l = []
while True:
try:
num = input("Enter a number: ")
except NameError as err:
if err == "done":
break
else:
print("Invalid input")
finally:
l.append(num)
l.sort()
largest = l[-1]
smallest = l[0]
print("Maximum", largest)
print("Minimim", smallest)
【问题讨论】:
-
except是如何被触发的? -
为什么要使用 finally?为什么不在“完成”处理中排序和计算最小/最大?
-
你需要重新设计你的逻辑。
NameError永远不会发生,它永远不会等于'done'。同样,l.sort()和之后的所有内容都应该在循环之外。 -
没有因为他使用 ValueError 而我想使用 NameError 作为异常
标签: python python-3.x try-except