python实现计算选手得分,要求:统计五位评委的打分,评委打分在0-10,去掉一个最高分,去掉一个最低分,计算选手的平均成绩。 扩展:计算6位学生的最终得分,并按照最终得分降序排序
时间: 2024-10-01 17:07:30 浏览: 40
在Python中,你可以通过创建一个函数来实现这个需求。这里是一个简单的例子:
```python
def calculate_score(grades):
# 检查输入是否为列表,且长度为5
if not isinstance(grades, list) or len(grades) != 5 or any(not isinstance(score, (int, float)) for score in grades):
raise ValueError("输入需要是一个包含5个0到10之间整数或浮点数的列表")
# 排除最高分和最低分
sorted_grades = sorted(grades)
top_score = sorted_grades.pop()
bottom_score = sorted_grades.pop(0)
# 计算剩余分数的平均值
average_grade = sum(sorted_grades) / (len(sorted_grades))
return average_grade
# 示例:计算五位评委的得分
judge_scores = [8, 9, 7, 10, 6]
score = calculate_score(judge_scores)
print(f"选手的平均得分为: {score}")
# 扩展至六位学生,假设有一个额外的学生列表
students_scores = [[8, 9, 7, 10, 6], [6, 8, 9, 7, 10], [7, 8, 6, 9, 10]] # 以列表形式存储每个学生的分数
sorted_students = sorted(students_scores, key=lambda x: calculate_score(x), reverse=True)
# 打印按照最终得分降序排列的学生得分
for i, student in enumerate(sorted_students, start=1):
print(f"第{i}名学生的最终得分为: {calculate_score(student)}")
```
阅读全文