使用python编程,通过键盘输入运动员人数和评委人数,通过键盘输入每位运动员的编号和每个评委给的成绩,将编号和评委成绩以{编号1:[成绩1,成绩2,成绩3...],编号2:[成绩1,成绩2,成绩3...]....键值对的形式保存在字典中。并求出每个运动员的最终成绩,最终成绩是去掉一个最高分,去掉一个最低分,再求平均成绩。并将最终成绩保存在一个新的字典中,形如{编号1:最终成绩1,编号2:最终成绩2..…},并将结果输出
时间: 2024-03-14 13:43:55 浏览: 13
好的,以下是代码实现:
```python
# 通过键盘输入运动员人数和评委人数
athlete_num = int(input("请输入运动员人数:"))
judge_num = int(input("请输入评委人数:"))
# 创建一个空字典,用于保存运动员编号和成绩
athlete_scores = {}
# 输入每位运动员的编号和每个评委给的成绩,并将其保存在字典中
for i in range(athlete_num):
athlete_id = input("请输入第{}位运动员的编号:".format(i+1))
scores = []
for j in range(judge_num):
score = float(input("请输入第{}位评委给的成绩:".format(j+1)))
scores.append(score)
athlete_scores[athlete_id] = scores
# 计算每个运动员的最终成绩
final_scores = {}
for athlete_id, scores in athlete_scores.items():
# 去掉一个最高分和一个最低分
scores.remove(max(scores))
scores.remove(min(scores))
# 求平均成绩
avg_score = sum(scores) / len(scores)
final_scores[athlete_id] = avg_score
# 输出结果
print("每位运动员的最终成绩为:")
for athlete_id, score in final_scores.items():
print("{}: {:.2f}".format(athlete_id, score))
```
希望能对你有帮助!