【发布时间】:2015-02-03 22:22:02
【问题描述】:
我正在使用 python 2 开发 GPA 计算器。但是,我无法让代码按我的意愿工作。我希望有人能帮我出来,给我一些方向。当我输入成绩时,我希望它计算 GPA。现在,它只读取一个字母或一个符号,但不能同时读取。我会输入 A+,它会给我 0.3 而不是 4.3。如果我输入多个等级,它只会读取一年级。 for 部分取所有输入的成绩,并给出我们的平均 GPA。
代码如下:
from sys import argv
def gp(grade):
points = 0
if grade == 'A' or grade == 'a':
points += 4.0
if grade == 'B' or grade == 'b':
points += 3.0
if grade == 'C' or grade == 'c':
points += 2.0
if grade =='D' or grade == 'd':
points += 1.0
if grade == 'F' or grade =='f':
points += 0.0
if grade.endswith ('+'):
points = points + 0.3
if grade.endswith ('-'):
points = points - 0.3
for x in grade
return points = sum(points)/len(grade)
if __name__ == '__main__':
grade = argv[1].replace(" ","")
print (("%.1f") % gp(grade))
【问题讨论】:
-
您希望它如何工作以及现在如何工作?
-
你有什么问题?
-
你试过
grade[0] == 'A'吗?从您的代码来看,grade似乎可以是A+和'A+' != 'A' -
另外,
for x in grade return points = sum(points)/len(grade)应该做什么? -
成绩不能以两个不同的字符结尾,也不能同时是两个不同的字符
标签: python calculator