【发布时间】:2020-12-08 09:51:36
【问题描述】:
对于,下面的代码: (缩进输出给定输入的最大值和最小值,结束并在键入完成时打印值并处理字符串输入的异常)
largest = None
smallest = None
while True:
try:
numb = input("Enter a number: ")
if num == "done":
break
print(num)
numb = int(num)
if largest is None or largest < num:
largest = num
elif smallest is None or smallest > num:
smallest = num
except ValueError:
print("Please, enter only numbers.")
print("Maximum", largest)
print("Minimum", smallest)
将输入值输入为 7、2、bob、10、4 并完成; 为什么我会得到 最低为 10 最大为 7
相反,当我将 numb 更改为 num 时,我得到了正确的值,例如 最低为 2 最大为 10
请解释一下 numb 究竟是如何将 min 设为 10 并将 max 设为 7 的。 (我知道我可以通过将 numb 与 if 循环进行比较来纠正它,但我更想知道这种特殊情况究竟如何将最小值设为 10,最大值设为 7)
【问题讨论】:
-
您没有将
name声明为变量,但您正在检查"done"。它会如何比较?
标签: python loops for-loop exception while-loop