我希望下面的代碼要求用戶 - 在一個 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}")
提前謝謝了!
uj5u.com熱心網友回復:
可能撰寫一個小函式來請求用戶輸入并處理 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
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/449983.html
上一篇:使用await檢索資料
下一篇:我如何確定“最近的”例外處理程式
