我是python的新手,并试图弄清楚如何将函数添加到我已经完成的某些编程中。我写了(下面)一点来将字母等级转换为GPA(平均成绩点)并想要改变它以便我可以输入几个字母并获得平均GPA。我遇到的问题是如何让它运行每个输入字母,然后将其转换为新的形式;我想我必须使用“for gp in range:”这样的东西,但我很失落如何开始。有任何想法吗?
from sys import argv
def gp(w):
if w.startswith("A"):
gp= int(4)
if w.startswith("B"):
gp= int(3)
if w.startswith("C"):
gp= int(2)
if w.startswith("D"):
gp= int(1)
if w.startswith("F"):
gp= int(0)
if w.endswith("+"):
return gp+0.3
if w.endswith("-"):
return gp-0.3
else:
return gp
if __name__ == '__main__':
grade = argv[1]
print("%.1f" % gp(grade))
答案 0 :(得分:0)
def gp(ltr):
grade = {"A":4.0, "B":3.0, "C":2.0, "D":1.0, "F":0.0}
mod = {"": 0.0, "+":0.3, "-":-0.3}
return grade[ltr[0]] + mod[ltr[1:]]
letters = "B A A- C F A"
grades = [gp(letter) for letter in letters.split()]
average = sum(grades) / len(grades)