10-6 加法運算:提示用戶提供數值輸入時,常出現的一個問題是,用戶提供的是
文本而不是數字。在這種情況下,當你嘗試將輸入轉換爲整數時,將引發 TypeError 異
常。編寫一個程序,提示用戶輸入兩個數字,再將它們相加並打印結果。在用戶輸入的
任何一個值不是數字時都捕獲 TypeError 異常,並打印一條友好的錯誤消息。對你編寫
的程序進行測試:先輸入兩個數字,再輸入一些文本而不是數字。
10-7 加法計算器:將你爲完成練習 10-6 而編寫的代碼放在一個 while 循環中,讓
用戶犯錯(輸入的是文本而不是數字)後能夠繼續輸入數字。
他這個要求的比較低,我就改成了除法運算,並且對於兩種異常情況做出判斷。
while True:
A=input("Please enter the first number: ")
if A=='q':
break
B=input("Please enter the second number: ")
if B=='q':
break
try:
sum=int(A)/int(B)
except ZeroDivisionError:
print("零不能當分母!")
except ValueError:
print("請輸入數字!")
else:
print(sum)
運行結果如下:
Please enter the first number: 1
Please enter the second number: 2
0.5
Please enter the first number: 1
Please enter the second number: 0
零不能當分母!
Please enter the first number: w
Please enter the second number: e
請輸入數字!
Please enter the first number: q
------------------
(program exited with code: 0)
請按任意鍵繼續. . .