用python写一个程序,以下是要求学校拟组织一场歌手大赛,从参赛选手中选拔出十名相对突出的学生,授予“校园十大歌手”称号。比赛之中设置有评委组,每名选手演唱完毕之后会由评委组的十名评委打分。为保证比赛公平公正,防止作弊和恶意打分,计算得分时会先去掉最高分和最低分,再计算平均分。
时间: 2024-05-03 19:18:28 浏览: 248
好的,以下是一个简单的 Python 程序,可以用来实现这个功能:
```python
# 定义一个空列表,用于存储所有参赛选手的得分
scores = []
# 循环读入每个选手的得分
for i in range(1, 11):
print("请输入第", i, "位选手的得分(10名评委分别打分,用空格隔开):")
# 读入评委组的十名评委打分,将其转换为整数类型,并存入一个列表中
judge_scores = list(map(int, input().split()))
# 去掉最高分和最低分,并计算平均分,将其存入 scores 列表中
scores.append(sum(judge_scores) - max(judge_scores) - min(judge_scores) / 8)
# 对所有选手的得分进行排序,取出前十名得分最高的选手
top_ten_scores = sorted(scores, reverse=True)[:10]
# 输出获得“校园十大歌手”称号的选手的得分
print("获得“校园十大歌手”称号的选手的得分为:")
for i in range(10):
print(top_ten_scores[i])
```
这个程序首先定义了一个空列表 `scores`,用于存储所有参赛选手的得分。然后,程序循环读入每个选手的得分,读入的过程中,将评委组的十名评委打分转换为整数类型,并存入一个列表中。接着,程序去掉最高分和最低分,并计算平均分,将其存入 `scores` 列表中。循环结束后,程序对所有选手的得分进行排序,取出前十名得分最高的选手,并输出他们的得分。
阅读全文