用Python寫一段程式碼,實現接收使用者輸入兩個的數字並輸出數字相加後的結果,要求使用者輸入任何內容程式不會報錯
阿新 • • 發佈:2018-12-31
分別採用基礎方法和異常處理方法實現。
基礎方法程式碼如下:
num1 = input('請輸入數字1:') if num1.strip() == '': print('輸入錯誤。') exit() elif num1[0] != '.': for i in num1: if not('0' <= i <= '9' or i == '.'): print('輸入錯誤。') exit() num1 = float(num1) else: print('輸入錯誤。') exit() num2 = input('請輸入數字2:') if num2.strip() == '': print('輸入錯誤。') exit() elif num2[0] != '.': for i in num2: if not('0' <= i <= '9' or i == '.'): print('輸入錯誤。') exit() num2 = float(num2) else: print('輸入錯誤。') exit() su = num1 + num2 su = [str(su), int(su)][int(su) == su] num1 = [str(num1), int(num1)][int(num1) == num1] num2 = [str(num2), int(num2)][int(num2) == num2] print('{} + {} = {}'.format(num1,num2,su))
採用異常處理的程式碼如下:
try: num1 = float(input('請輸入數字1:')) num2 = float(input('請輸入數字2:')) except ValueError: print('輸入的不是數字。') exit() s = num1 + num2 s = [str(s),int(s)][int(s)==s] num1 = [str(num1),int(num1)][int(num1)==num1] num2 = [str(num2),int(num2)][int(num2)==num2] print('{} + {} = {}'.format(num1, num2, s))