如何计算GPA分配

2024-09-30 04:37:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个编程作业,打开一个文件,并计算总分。在

其中A=4,B=3,C=2,D=1,E=0 .txt文件包含:

ECS10 A4型

ECS20 B 3

JPN4 C 5型

物理9 A D 5

最后一个要素是学分的数量,前面的字母是成绩。我只能得到最后一个元素和字母,但我卡住了。我一直在for循环中使用if语句来从字母中获取数字,但我似乎无法使其工作。(我很新编程,所以任何形式的帮助将不胜感激)谢谢!在

到目前为止,我得到的是:

f=打开(“坡度_文件.txt“,”r“)

line=f.readlines()

分离数字

对于i in(行):

i = i.strip()

print(i[-1:])

分离字母

打印(“\n”)

对于i in(行):

^{pr2}$

GPA的计算方法是将学分乘以所获得的学分,再除以总学分。在


Tags: 文件intxt编程作业字母物理数字
1条回答
网友
1楼 · 发布于 2024-09-30 04:37:28

试试这段代码:

#!/usr/bin/env python3.3-32

grade_mapping = {'A':4, 'B':3, 'C':2, 'D':1, 'E':0}
weighted_sum = 0
credits = 0

for line in open("grade_file.txt", "r"):
    elems = line.split(' ')
    weighted_sum += grade_mapping[elems[1]] * int(elems[2])
    credits += float(elems[2])

gpa = weighted_sum / credits
print(gpa)

我用这个文件来测试:

^{pr2}$

结果应该是2.35294117647

相关问题 更多 >

    热门问题