私は初心者のプログラマーであり、ユーザーが入力した文字グレードをGPAまたはGPAから文字グレードに変換するプログラムを作成しています。私は他のプログラムで変換を行うために2つの関数を参照しています。私はGPAに変換する文字グレードであると仮定して開始するtry文を使用していますが、GPAから文字グレードに変換する関数を試しても動作しません。ネストされたtry elseステートメントの問題
私のプログラムは動作しますが、唯一の問題は、文字のグレードやGPAではないものを入力しても、私のelse文は常に実行されることです。私はそれが私が見ていないことは簡単だと推測しています。
#Convert a letter grade to GPA, or GPA to letter grade
from grade_points_to_letter import gpa_converter
from letter_grade_to_grade_point import letter_converter
grade = input('Enter a letter grade or GPA to convert: ')
while grade != '':
try:
grade = grade.upper()
conversion = letter_converter(grade)
try:
conversion = gpa_converter(float(grade))
except:
print('You did not enter a valid letter grade or GPA')
except:
pass
else:
print('Your converted grade is:', conversion)
grade = input('Enter a letter grade or GPA to convert: ')
私はelse文がtry \ except文で使われるとは思わないと思います。 –
try文がうまくいけば、else文は実行されることになっています。 – DntMesArnd
これは 'try'ブロックがエラーを投げないことを意味します。私が見ることができる唯一の場所は 'letter_converter'です。あなたはそこに何を持っていますか? – kaveh