A26469. 某次考试成绩数据如表所示,这些数据被储存在字典变量score中。score中的键为学生姓名,对应值是一个列表,列表中的项目为该学生的各科成绩。编写程序,处理score中的成绩数据,对每位学生的成绩评定等级,并在接收到用户输入的学生姓名时输出等级。要求:(1)等级评定标准为:当各科目平均成绩不低于90分,且各科成绩均不低于80分,等级为A+;当各科目平均成绩不低于90分,但存在低于80分的科目时,…
题目描述
某次考试成绩数据如表所示,这些数据被储存在字典变量score中。score中的键为学生姓名,对应值是一个列表,列表中的项目为该学生的各科成绩。编写程序,处理score中的成绩数据,对每位学生的成绩评定等级,并在接收到用户输入的学生姓名时输出等级。
要求:
(1)等级评定标准为:当各科目平均成绩不低于90分,且各科成绩均不低于80分,等级为A+;当各科目平均成绩不低于90分,但存在低于80分的科目时,等级为A;当各科目平均成绩低于90分且不低于80分,等级为B;当各科目平均成绩低于80分且不低于70分,等级为C;当各科目平均成绩低于70分且不低于60分,等级为D;当各科目平均成绩低于60分,等级为E;
(2)接收用户输入的姓名字符串,若姓名出现在成绩单中,则输出该同学此次考试成绩对应的等级,否则输出no。

提示:
(1)利用适当方法对变量score中的数据进行处理,完成成绩等级评定;
(2)将学生姓名与等级对应,保存在新的字典中。
注:input()函数中不要增加任何参数等提示信息。
预设代码:
score = {'Alen': [88, 94, 86, 91], 'Bob': [91, 94, 88, 92], 'Cathy': [78, 94, 93, 99], 'Duke': [65, 78, 79, 69], 'Ella': [81, 91, 76, 75], 'Frank': [80, 83, 87, 70], 'George': [71, 76, 68, 80], 'Haven': [71, 63, 58, 80], 'Iva': [71, 55, 56, 54]}
例:
输入: Alen 输出: B
输入: Molly 输出: no
参考答案
score={'Alen':[88,9486,911,'Bob':[91,94,88,92],'cathy': [78,94,93,99],
'Duke':[65,78,79,69],'Ella':[81,91,76,75],'Frank':[80,83,87,70],
'George':[71,76,68,80],'Haven':[71,63,58,80],'Iva':[71,55,56,54]}
def rank(list):
avg=sum(list)/4
if avg>=90:
for i in list:
if i<80:
return 'A'
return 'A+'
elif avg>=80:
return 'B'
elif avg>=70:
return 'C'
elif avg>=60:
return 'D'
else:
return 'E'
result={}
for i in score:
result[i]=rank(score[i])
name=input()
if name in result:
print(result[name])
else:
print('no')
测试样例:
输入:Alen 输出:B
输入:Bob 输出:A+
输入:Cathy 输出:A
输入:Duke 输出:C
输入:Ella 输出:B
输入:Frank 输出:B
输入:George 输出:C
输入:Haven 输出:D
输入:Iva 输出:E
输入:Keen 输出:no