体操比赛成绩统计。多名运动员,多个评委打分,去掉- -个最高分和去掉- -个最低分,对其余分数求平均分作为- -个运动员成绩。
编程通过键盘输入每位运动员编号和每个.评委的成绩,求出运动员的最终成绩,并将运动员编号和最终成绩保存在一一个字典.中,形如{编号1:最终成绩1,学号2:最终成绩2.....,并将结果输出。
体操比赛成绩统计。多名运动员,多个评委打分,去掉- -个最高分和去掉- -个最低分,对其余分数求平均分作为- -个运动员成绩。
编程通过键盘输入每位运动员编号和每个.评委的成绩,求出运动员的最终成绩,并将运动员编号和最终成绩保存在一一个字典.中,形如{编号1:最终成绩1,学号2:最终成绩2.....,并将结果输出。
t = int(input('请输入评委人数(不得少于3人):'))
s = int(input('请输入学生人数(不得少于1人):'))
stus = []
for i in range(s):
stu = {'score':[]}
stu.update({'sn':str(input('----\n请输入学生学号:'))})
for j in range(t):
stu['score'].append(input('请输入评委'+str(j+1)+'的评分:'))
stu['score'].sort()
stu.update({'min':stu['score'].pop(0)})
stu.update({'max':stu['score'].pop()})
stu.update({'avg':eval('+'.join(stu['score']))/len(stu['score'])})
stus.append(stu)
r = {n['sn']:n['avg'] for n in stus}
print(r)
使用列表stus存储所有学生成绩,每个学生的成绩信息为循环中stu词典,stu['sn']记录学号,stu['score']记录所有评委评分
使用列表删除元素方式移除最高分和最低分并记录到min和max里,用剩余成绩通过字符串拼接成一个算式并运算记录到avg里
最终组成输出格式信息词典,并打印