我有这个代码,显然是一个GPA计算器,但它只是一个加权的GPA计算器。当我测试代码时,它可以正常使用值
[A, B, C, D, F]
但是当我想用诸如
之类的值来测试它时[A+, B, B-, Z]
我不知道如何说明实际上不在列表中的成绩。如果用这样的字母测试,我需要代码返回None。我曾尝试使用“if”来像我一样使用
if grades == []:
return None
if credit_worth ==[]:
return None
但我无法得到它,这是代码的其余部分:
def gpa_calculator(grades, credit_worth):
gpa_value = {'A': 4.0,'B': 3.0,'C': 2.0,'D': 1.0,'F': 0.0,
'a': 4.0, 'b': 3.0, 'c': 2.0, 'd': 1.0, 'f': 0.0}
total_credits = 0
if grades == []:
return None
if credit_worth == []:
return None
for grade, credit in zip(grades, credit_worth):
total_credits += gpa_value[grade] * credit
GPA = total_credits / sum(credit_worth)
return GPA
答案 0 :(得分:2)
在for循环中添加以下行:
if grade not in gpa_value.keys():
return None