我是编程新手。我试图在用户输入中找到最小和最大的数字。如果用户输入字符串,则将显示错误消息,并且程序应继续进行,直到用户输入“完成”为止。当我运行我的代码时,似乎“ done”一词被认为是终止代码的一个输入,似乎是执行计算的输入。我不知道如何让程序接受输入,仅对没有字符串变量的整数变量执行计算。下面是我的代码:
largest = None
smallest = None
while True:
num = input("Enter a number: ")
if num == "done":
break
for value in num:
try:
imp = int(num)
except:
print ("Invalid input")
continue
smallest = min(num)
largest = max(num)
print("Maximum is: ", largest)
print("Minimum is: ", smallest)
在while
循环的每次迭代中,您将覆盖num
的值。因此,当用户输入"done"
结束循环时,num
的当前值为"done"
。
考虑使用列表存储用户的每个输入(只要该输入不是值"done"
)。
例如:
nums = []
while True:
num = input("Enter a number: ")
if num == "done":
break
nums.append(num)
然后像这样遍历nums
中的值:
for num in nums:
# ...