【发布时间】:2023-01-01 01:15:10
【问题描述】:
该程序旨在接受用户的输入,然后打印出最小值和最大值。这工作正常,直到 try and except 被测试。
代码 SN-P:
min = None
max = None
#wrap entire function in while loop
while True:
#prompt user for input
line = input('Enter a number: ')
try:
if line == 'done':
break
print(line)
#min and max
if min is None or line < min:
min = line
print("min:",min)
if max is None or line > max:
max = line
print("max:",max)
except:
print('Invalid input')
continue
#print function results
print(min,max)
当字符串值被添加为输入时,即 abcd
- 输出为:min abc , max abc
- 预期的输出是:“无效输入”
【问题讨论】:
-
有效的解决方案是在最小和最大条件上方添加代码:
line = int(line)。来自用户的输入被转换成一个整数,如果它不是一个整数,那么 try 和 except 会成功执行。
标签: python-3.x try-catch