牛牛在门头沟大学学习,一学年过去了,需要根据他的成绩计算他的平均绩点,假如绩点与等级的对应关系如下表所示。请根据输入的等级和学分数,计算牛牛的均绩(每门课学分乘上单门课绩点,求和后对学分求均值)。
A | 4.0 |
B | 3.0 |
C | 2.0 |
D | 1.0 |
F | 0 |
输入描述:
连续输入一行等级一行学分,遇到等级为False则结束输入。
输出描述:
均绩保留两位小数。
示例1
输入:
A 3 B 4 C 2 False
输出:
3.11
本题可以通过创建字典映射对应等级和绩点,然后用死循环加break处理输入的数据,将其加入列表,然后按照索引遍历进行计算得出答案。
dic={'A':4,'B':3,'C':2,'D':1,'F':0}
lst=[]
while True:
a=input()
if a=='False':
break
else:
lst.append(a)
result=0
snum=0
for i in range(len(lst)):
if lst[i]>='A' and lst[i]<='Z':
if lst[i] in dic:
result+=int(lst[i+1])*dic[lst[i]]
snum+=int(lst[i+1])
else:
continue
print("%.2f" % float(result/snum))