while循环中的ValueError异常处理:只重复错误的输入

ValueError Exception Handling in a while loop: Repeat only wrong input

我想要以下代码要求用户 - 在 while 循环中 - 输入两个整数,处理 ValueError 异常,如果一切正常则打印总和。

我的问题是,如果第一个数字通过而第二个没有通过,它会要求重新输入第一个。

在这种情况下如何让它只提示第二个输入?

while True:

try:
    number_1 = int(input("enter the first number: "))
    number_2 = int(input("enter the second number: "))
except ValueError:
    print("please enter numbers only!")
    
else:
    result = number_1 + number_2
    print(f" {number_1} + {number_2} = {result}")

非常感谢!

可能编写一个小函数来请求用户输入并处理 ValueError 在这里会派上用场,这将是一个很好的使用习惯。

示例:

def get_input(show_text:str):
    while True:
        try:
            number = int(input(show_text))
            break
        except ValueError:
            print('Enter number only!') 
    return number


number_1 = get_input('enter the first number: ')
number_2 = get_input('enter the second number: ')
result = number_1 + number_2
print(f" {number_1} + {number_2} = {result}")

示例输出

enter the first number: 1
enter the second number: a
Enter number only!
enter the second number: f
Enter number only!
enter the second number: 2
 1 + 2 = 3