Grade1 = input ('Grade for Class 1?')
Grade2 = input ('Grade for Class 2?')
Grade3 = input ('Grade for Class 3?')
Grade4 = input ('Grade for Class 4?')
Grades = (str(Grade1), str(Grade2), str(Grade3), str(Grade4))
def average(numbers):
total= sum(numbers)
return total/len(numbers)
def RealGPA(semestergrades):
PointValues = {'A+': 4.2, 'A':4.0, 'A-': 3.7, 'B+': 3.3, 'B': 3.0, 'B-': 2.7, 'C+': 2.3, 'C':2.0, 'C-': 1.7, 'D+': 1.3, 'D': 1.0, 'D-': 0.7, 'F': 0.00}
PointsEarned= []
for Grade in Grades:
Values=(PointValues[Grades])
PointsEarned.append(Values)
return average(PointsEarned)
print (RealGPA(Grades))
すべての入力に対して「A」、「A」、「A」、「A」が入力されていると「キーエラー: POINTVALUES私が間違って入力をしていますなぜこの基本的なGPA電卓がKeyErrorを返すのですか?
PointValues [Grades]はPointValuesでなければなりません[Grade] – Yegers
あなたは 'RealGPA'関数で' semestergrades'引数を使用していません。ローカル変数の代わりにグローバルな 'Grades'タプルが使われます。 –