这里有一个简单的问题,我对python还相当陌生,必须编写一个脚本来弹出给定等级集的GPA。问题是,这段代码是有效的,但以gpa(“AB”)的形式,一旦它获得了2个以上的输入,它就会失去正常状态,“AB”=3.5到“AAB”=2.33,显然不是这样。我能做些什么来解决这个问题
def gpa(grade):
letter = list(grade)
points = 0
if 'A' in letter:
points = points + 4.0
if 'B' in letter:
points = points + 3.0
if 'C' in letter:
points = points + 2.0
if 'D' in letter:
points = points + 1.0
if 'F' in letter:
points = points + 0.0
total = (points)/len(letter)
return total
既然你已经有了一个很好的答案,我将提供不必要的一行:
您需要检查每个等级,然后为该等级添加分数。您可以使用类似于j1-lee的
if-else
梯形图来完成此操作,也可以使用将每个字母映射到其分数的词典:如果您愿意,可以使用
sum()
函数和生成器表达式对其进行pythonize相关问题 更多 >
编程相关推荐