(1)体育比赛。多个运动员参加,多个评委为每个运动员打分。 (2)编程,通过键盘输入运动员人数和评委人数,通过键盘输入每位运动员的编号和每个评委给的成绩,将编号和评委成绩以{编号1∶[成绩1,成绩2,成绩3...],编号2∶[成绩1,成绩2,成绩3...],......}键值对的形式保存在字典中。 (3)并求出每个运动员的最终成绩,最终成绩是去掉一个最高分,去掉一个最低分,再求平均成绩。并将最终成绩保存在一个新的字典中,形如{编号1∶最终成绩1,编号2:最终成绩2......}],并将结果输出。用python写出
时间: 2024-03-21 19:42:36 浏览: 80
B.c.zip_4 3 2 1_Windows编程_歌手比赛管理系统_歌手比赛系统_比赛打分
好的,以下是代码实现:
```
# 输入运动员人数和评委人数
athletes_num = int(input("请输入运动员人数:"))
judges_num = int(input("请输入评委人数:"))
scores_dict = {}
final_scores_dict = {}
# 输入每位运动员的编号和每个评委给的成绩
for i in range(athletes_num):
athlete_id = input("请输入第{}位运动员的编号:".format(i+1))
scores = []
for j in range(judges_num):
score = float(input("请输入第{}位评委给出的成绩:".format(j+1)))
scores.append(score)
scores_dict[athlete_id] = scores
# 计算每位运动员的最终成绩
for athlete_id, scores in scores_dict.items():
scores.sort()
final_score = sum(scores[1:-1]) / (judges_num - 2)
final_scores_dict[athlete_id] = final_score
# 输出最终成绩
print("每位运动员的最终成绩为:")
for athlete_id, final_score in final_scores_dict.items():
print("{}: {}".format(athlete_id, final_score))
```
代码中首先通过 `input` 函数获取运动员人数和评委人数。然后通过循环依次获取每位运动员的编号和每个评委给的成绩,并将其保存在 `scores_dict` 字典中。接着通过循环计算每位运动员的最终成绩,并将其保存在 `final_scores_dict` 字典中。最后通过循环输出每位运动员的最终成绩。
阅读全文