体育比赛,多个运动员参加,多个评委为每个运动员打分。 编程,通过键盘输入运动员人数和评委人数,通过键盘输入每位运动员的编号和每个评委给的成绩,将编号和评委成绩以{编号1:[成绩1,成绩2成绩31,编号2:[成绩1成绩2成绩.…}键值对的形式保存在字典中。并求出每个运动员的最终成绩,最终成绩是去掉一个最高分,去掉一个最低分,再求平均成绩。并将最终成绩保存在一个新的字典中,形如{编号1:最终成绩1,编号2:最终成绩2.…},并将结果输出
时间: 2024-03-12 20:50:02 浏览: 82
统计体育比赛成绩的程序
好的,我理解了你的问题。以下是Python代码实现:
```python
n = int(input("请输入运动员人数:"))
m = int(input("请输入评委人数:"))
scores = {}
for i in range(n):
id = input("请输入第{}位运动员的编号:".format(i+1))
grade = []
for j in range(m):
g = float(input("请输入第{}位评委给出的分数:".format(j+1)))
grade.append(g)
scores[id] = grade
final_scores = {}
for id, grade in scores.items():
grade.sort()
grade = grade[1:-1] # 去掉一个最高分和一个最低分
final_scores[id] = sum(grade) / len(grade)
print("每个运动员的最终成绩为:")
for id, score in final_scores.items():
print("{} : {:.2f}".format(id, score))
```
我们可以先输入运动员人数和评委人数,然后通过嵌套的 `for` 循环输入每位运动员的编号和每个评委给出的成绩,并将其保存在字典 `scores` 中。接着,我们再次遍历字典 `scores`,对每个运动员的成绩进行排序,去掉一个最高分和一个最低分,并求出平均成绩,最终将每个运动员的最终成绩保存在字典 `final_scores` 中。最后,我们输出每个运动员的最终成绩。
注意:这里的代码实现假设输入的数据是合法的,即每位评委给出的分数都是合理的数字。如果需要进行错误处理,还需要进一步完善代码。
阅读全文