选手得分问题。 学校要举行辩论赛,请写一个程序计算选手的最终得分,计算规则为去掉最高分和最低 分,然后计算平均分。分行完成输入多个评委的打分。输入的分数保证是0~100之间的整数, 例如: 输入:6(6个评委,以下6个数分别是6个评委的评分)
时间: 2024-12-18 10:21:00 浏览: 4
辩论赛宁为凤尾,不做鸡头(一辩陈词)共4页.pdf.zip
当处理选手得分问题时,可以编写一个简单的Python程序来实现这个需求。下面是一个示例程序,用于接收六个评委的评分,去除最高分和最低分,然后计算平均分:
```python
def calculate_score():
scores = []
while True:
try:
num_of_judges, *scores_input = input("请输入评委人数(如:6 85 92 78 88 95),或直接按回车结束:").split()
if not num_of_judges.isdigit() or int(num_of_judges) < 1:
print("评委人数无效,请重新输入")
continue
num_of_judges = int(num_of_judges)
if num_of_judges > len(scores):
for _ in range(num_of_judges - len(scores)):
score = int(input(f"请输入第 {len(scores)+1} 位评委的分数:"))
scores.append(score)
else:
scores.extend([int(score) for score in scores_input])
break
except ValueError:
print("评分输入错误,请输入0到100的整数")
# 排序并去除最高分和最低分
sorted_scores = sorted(scores)
max_score = sorted_scores.pop()
min_score = sorted_scores.pop(0)
# 计算平均分
average_score = sum(sorted_scores) / (num_of_judges - 2)
print(f"去掉最高分{max_score}和最低分{min_score}后的平均分为:{average_score:.2f}")
calculate_score()
```
当你运行这个程序时,它会提示你输入评委的人数以及他们的评分。你可以按照指示输入,程序会自动处理最高分和最低分,最后给出选手的平均得分。
阅读全文