评分表求平均分并降序排序

您所在的位置:网站首页 Johnsen评分为7分和8分 评分表求平均分并降序排序

评分表求平均分并降序排序

2024-05-26 07:06| 来源: 网络整理| 查看: 265

【问题描述】一年一度的校园好声音进行到了激烈的决赛环节,8位评委对入围的6名选手给出了最终的评分,请根据评分表,将每位选手的得分去掉一个最高分和一个最低分后求平均分,并按照平均分由高到低的顺序输出选手编号和最后得分。

dic_score = {'012': [90, 94, 85, 54, 68, 75, 71, 21], '005': [8, 75, 21, 65, 89, 97, 25, 75], '108': [87, 54, 78, 25, 14, 98, 67, 57], '037': [45, 87, 54, 82, 95, 91, 57, 32], '066': [95, 67, 51, 48, 98, 92, 80, 39], '020': [85, 81, 65, 97, 35, 62, 71, 84]} dic_avg = {} # 存放平均分 for k, v in dic_score.items(): v_min = min(v)# 求最低分 v_max = max(v) # 求最高分 v_sum = sum(v) # 求总分 v_sum = v_sum - v_max - v_min # 从总分中去除最大值和最小值 v_avg = v_sum / (len(v) - 2) # 求平均分 dic_avg[k]=v_avg#取k,将平均值作为键赋给字典 # 将参赛者编号和平均值存入字典dic_avg中 # 按照平均分由大到小排序 lt_avg = [(v, k) for k, v in dic_avg.items()] lt_avg.sort(reverse=True) # 由大到小排序 lt_avg = [(v, k) for k, v in lt_avg] dic_avg =dict(lt_avg) # 将列表lt_avg转换为字典dic_avg # 输出结果 for k,v in dic_avg.items():#k,v很重点重点 print(k, v)



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3