请为一个歌唱比赛的歌手打分环节编写一个Python程序,每个歌手表演完毕后,现场的10个评委为其进行打分,评分规则为去掉一个最高分,去掉一个最低分,然后计算平均分即为歌手的成绩。假设输入数据中10个评委的成绩按照一行输入,两个数据之间用一个逗号分隔。
时间: 2024-10-08 20:11:18 浏览: 44
你可以创建一个简单的Python函数来处理这个问题。首先,我们需要从用户那里获取每位歌手的评委分数,然后去除最高分和最低分,最后计算剩余8个分数的平均值。以下是一个示例程序:
```python
def calculate_song_score():
scores = []
# 循环询问并接收10位评委的评分
while len(scores) < 10:
score_str = input("请输入下一位评委的分数(格式如 '评委1,评委2,...'),如果已完成所有评分请输入'end':")
if score_str.lower() == "end":
break
# 分割输入的字符串得到评委得分列表
scores.extend([int(score) for score in score_str.split(',')])
# 去掉最高分和最低分
sorted_scores = sorted(scores)
top_score = sorted_scores.pop()
bottom_score = sorted_scores.pop(0)
# 计算并返回平均分
average_score = sum(sorted_scores) / (len(sorted_scores))
return average_score
# 调用函数并打印结果
score = calculate_song_score()
print(f"歌手的最终得分为: {score}")
# 相关问题 --
阅读全文