我正在尝试编写一个基本代码,提示用户输入数字列表作为单独的输入,然后识别最大和最小数字。如果用户输入的不是数字,则代码应返回“无效输入”消息。该代码似乎在两个输入中都运行了一次,但是while输入似乎被完全破坏了,我不确定它出了什么问题。
largest = None
smallest = None
try:
num1 = input("Enter a number: ")
num1 = int(num1)
largest = num1
smallest = num1
while True:
num = input("Enter a number: ")
if num == "done" :
break
if num > largest:
largest = num
if num < smallest:
smallest = num
else: continue
except:
print('Invalid input')
print("Maximum is ", largest)
print("Minimum is ", smallest)
答案 0 :(得分:1)
如果检查退出条件为“ done”,并且输入不是“ done”,则将字符串转换为整数。 然后所有if条件都将正确运行,并且while循环应该运行。
createCanvas()
答案 1 :(得分:0)
这是一种简单的方法:
lst = []
while True:
try:
lst.append(int(input("enter a number: ")))
except:
break
print(f"max is {max(lst)}")
print(f"min is {min(lst)}")
enter a number: 10
enter a number: 22
enter a number: 11
enter a number: 22
enter a number: 4
enter a number: done
max is 22
min is 4
答案 2 :(得分:0)
除了其他更正:
largest = None
smallest = None
try:
num1 = int(input("Enter a number: "))
largest = num1
smallest = num1
while True:
num = input("Enter a number: ")
if str(num) == "done" :
break
if int(num) > largest:
largest = num
if int(num) < smallest:
smallest = num
else: continue
except:
print('Invalid input')
print("Maximum is ", largest)
print("Minimum is ", smallest)