请编写程序,求出各位选手的最后得分,具体要求如下: 为丰富校园文化生活,学校拟组织一场歌手大赛,从参赛选手中选拔出十名相对突出的学生,授予“校园十大歌手”称号。比赛之中设置有评委组,每名选手演唱完毕之后会由评委组的十名评委打分。为保证比赛公平公正,防止作弊和恶意打分,计算得分时会先去掉最高分和最低分,再计算平均分。
时间: 2024-03-01 07:51:45 浏览: 4
好的,我可以为您提供一个Python程序,用于计算每位选手的最后得分。以下是程序代码:
```Python
# 定义评委打分函数
def calculate_score(scores):
# 去掉最高分和最低分
scores.sort()
scores = scores[1:-1]
# 计算平均分
avg_score = sum(scores) / len(scores)
return avg_score
# 定义选手列表,其中每个元素是一个字典,表示一个选手的信息
players = [
{'name': '张三', 'scores': [90, 89, 95, 92, 88, 87, 91, 93, 94, 96]},
{'name': '李四', 'scores': [86, 85, 89, 90, 87, 88, 92, 83, 91, 95]},
{'name': '王五', 'scores': [92, 93, 88, 87, 90, 85, 89, 91, 94, 96]},
{'name': '赵六', 'scores': [85, 89, 90, 86, 88, 87, 91, 93, 94, 92]},
{'name': '钱七', 'scores': [93, 92, 94, 91, 89, 87, 88, 90, 86, 85]},
{'name': '孙八', 'scores': [89, 90, 91, 88, 87, 86, 92, 94, 95, 93]},
{'name': '周九', 'scores': [87, 86, 90, 91, 92, 93, 94, 88, 89, 85]},
{'name': '吴十', 'scores': [90, 89, 91, 87, 88, 92, 93, 94, 95, 86]},
{'name': '郑一', 'scores': [91, 92, 90, 87, 85, 89, 88, 94, 93, 95]},
{'name': '王二', 'scores': [86, 85, 89, 90, 92, 93, 91, 94, 88, 87]}
]
# 计算每位选手的得分
for p in players:
avg_score = calculate_score(p['scores'])
print("{}的最终得分为:{:.2f}".format(p['name'], avg_score))
```
这个程序定义了一个评委打分函数`calculate_score()`,该函数用于计算选手得分。然后,程序定义了一个选手列表,其中每个元素是一个字典,表示一个选手的信息。接着,程序遍历每个选手的得分列表,调用`calculate_score()`函数计算最终得分,并输出结果。
阅读全文