去掉最高分和最低分后按平均分排序

场景:我院有小王,小李,小张,小吴4名同学参加简历大赛。
5位评委教师对4名参赛选手的打分如下:
小王:99 98 90 90 88
小李:96 85 92 80 95
小张:89 92 91 98 90
小吴:92 88 90 93 96
按照规则,去掉一个最高分,一个最低分后按平均分高低确认名次,请编写程序输出排名。

找了两篇文章,可以参考下
https://blog.csdn.net/m0_67069564/article/details/127457595
https://blog.csdn.net/Aiden_yan/article/details/109342959

score_dict = {
    '小王': [99, 98, 90, 90, 88],
    '小李': [96, 85, 92, 80, 95],
    '小张': [89, 92, 91, 98, 90],
    '小吴': [92, 88, 90, 93, 96],
}
result = {

}
for k, item in score_dict.items():
    # 排序后去掉第1个和最后一个
    temp = sorted(item)[1:-1]
    # 计算平均值
    result[k] = sum(temp) / len(temp)

result = sorted(result.items(), key=lambda x:x[-1], reverse=True)
for idx, item in enumerate(result):
    print("第%d名是:%s, 平均成绩为:%.2f" % (idx + 1, item[0], item[1]))

有帮助的话,请点采纳该答案~