对于下列问题:
编写一个程序,反复提示用户输入整数,直到用户进入done。
输入“完成”后,打印出最大和最小的数字。
如果用户输入有效数字以外的任何内容,则使用try/ out捕获该数字,并发出适当的消息并忽略该数字。
投入案例:
输入7、2、bob、10和4,并匹配下面的输出。
我的程序没有正确显示ans。这里有什么问题?
while True:
inp = input("Enter number: ")
if inp == "done":
print("done")
break
try:
inp_data = int(inp)
except:
print("Invalid input")
if smallest is None:
smallest = inp_data
elif inp_data < smallest:
smallest = inp_data
elif inp_data > largest:
largest = inp_data
print("largest", largest)
print("smallest", smallest)输出:
输入无效,最大为10,最小为2。

发布于 2020-08-18 07:03:03
您在打印输出时遗漏了几个语句。
下面的代码对我有效。
largest = None
smallest = None
while True:
num = input("Enter a number: ")
if num == "done":
break
try:
#print(num)
num = int(num)
if largest is None or largest < num:
largest = num
elif smallest is None or smallest > num :
smallest = num
except ValueError:
print("Invalid input")
continue
print("Maximum is", largest)
print("Minimum is", smallest)已验证并成功运行。
发布于 2021-12-30 13:45:40
largest = None
smallest = None
while True:
num = input("Enter a number: ")
if num == "done":
break
try:
num = int(num)
except:
print("Invalid input")
continue
if largest==None or num > largest:
largest = num
elif smallest==None or smallest > num:
smallest = num
print("Maximum is", largest)
print("Minimum is", smallest)发布于 2020-09-15 14:04:24
试试这段代码,稍后再谢谢我
largest = None
smallest = None
while True:
val = input("Enter a number: ")
if val == "done":
break
try:
val = int(val)
if largest is None or val > largest:
largest = val
elif smallest is None or smallest > val:
smallest = val
except:
print("Invalid input")
continue
print("Maximum is", largest)
print("Minimum is", smallest)https://stackoverflow.com/questions/62295062
复制相似问题