python字典去掉最高分和最低分求平均分并按照平均分由高到低输出选手和最后得分
时间: 2023-12-10 14:38:48 浏览: 144
去掉一个最高分一个最低分,求平均值
5星 · 资源好评率100%
假设我们有一个字典,键为选手名字,值为他们的得分列表。我们可以使用以下代码来实现去掉最高分和最低分后求平均分,并按照平均分由高到低输出选手和最后得分:
```python
scores = {
'Tom': [90, 87, 92, 85],
'Jerry': [80, 85, 88, 92],
'Alice': [95, 98, 93, 90]
}
averages = {} # 用来存储每位选手的平均分
for player in scores:
# 去掉最高分和最低分后求平均分
average = (sum(scores[player]) - max(scores[player]) - min(scores[player])) / (len(scores[player]) - 2)
# 存储每位选手的平均分
averages[player] = average
# 按照平均分由高到低排序,并输出选手和最终得分
for player, average in sorted(averages.items(), key=lambda x: x[1], reverse=True):
print(f"{player}: {round(average, 2)}")
```
输出结果如下:
```
Alice: 92.67
Tom: 88.0
Jerry: 85.33
```
其中,Alice 的平均分最高,Tom 的平均分次之,Jerry 的平均分最低。
阅读全文