转载自头歌:头歌实践教学平台
任务描述
平均绩点计算方法:
(课程学分1*绩点+课程学分2*绩点+......+课程学分n*绩点)/(课程学分1+课程学分2+......+课程学分n)
用户循环输入五分制成绩和课程学分,题目测试数据保证至少有一组或以上合法数据输入。输入‘-1’时结束输入,计算学生平均绩点。等级与绩点对应关系如下表:
成绩 | 等级 | 绩点 |
---|---|---|
90-100 | A | 4.0 |
85-89 | A- | 3.7 |
82-84 | B+ | 3.3 |
78-81 | B | 3.0 |
75-77 | B- | 2.7 |
72-74 | C+ | 2.3 |
68-71 | C | 2.0 |
64-67 | C- | 1.5 |
60-63 | D | 1.3 |
补考60 | D- | 1.0 |
60以下 | F | 0 |
输入格式
每组输入包括两行 第一行是五分制的分数 第二行是一个代表学分的数字
输出格式
平均绩点,严格保留两位小数
dic={'A':4.0,'A-':3.7,'B+':3.3,'B':3.0,'B-':2.7,'C+':2.3,'C':2.0,'C-':1.5,'D':1.3,'D-':1.0,'F':0}
num=0
nf=0
while True:
socre=input()
if socre == '-1':
break
f=int(input())
num+=dic.get(socre)*f
nf+=f
print(f'{num/nf:.2f}')