描述:
牛牛在门头沟大学学习,一学年过去了,需要根据他的成绩计算他的平均绩点,假如绩点与等级的对应关系如下表所示。请根据输入的等级和学分数,计算牛牛的均绩(每门课学分乘上单门课绩点,求和后对学分求均值)。
输入描述:
连续输入一行等级一行学分,遇到等级为False则结束输入。
输出描述:
均绩保留两位小数。
示例1
A
3
B
4
C
2
False
# dictA = {'A': 4.0, 'B': 3.0, 'C': 2.0, 'D': 1.0}
endstr = "False" # 重新定义结束符
li = [] #输入的列表
score = [] #学分
grade = [] #等级
for line in iter(input, endstr): # 每行接收的东西
# str+= line+"n"#换行
li.append(line)
for i in range(0, len(li)):
if i % 2 != 0:
score.append(int(li[i]))
for j in range(0, len(li)):
if j % 2 == 0:
grade.append(li[j])
di = zip(grade, score) #打包列表,使两个列表一一对应
pair = list(di)
sum_score = sum(score)
# print(pair)
k = 0
sum0 = 0
while k < len(pair):
for item in pair:
if item[0] == 'A':
sum0 += item[1] * 4.00
k += 1
elif item[0] == 'B':
sum0 += item[1] * 3.00
k += 1
elif item[0] == 'C':
sum0 += item[1] * 2.00
k += 1
elif item[0] == 'D':
sum0 += item[1]
k += 1
elif item[0] == 'F':
sum0 = sum0
k += 1
a = sum0 / sum_score
print("%.2f" % a)



