Pythonで1段のコードを書いて、ユーザーが2つの数字を入力して数字の加算を出力した結果を受信することを実現して、ユーザーにいかなる内容のプログラムを入力して間違いを報告しないことを要求します

1367 ワード

基礎手法と異常処理手法をそれぞれ用いて実現した.
基本メソッドコードは次のとおりです.
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))