python去掉输入的数中的最高分最低分求平均分并按人名排序
时间: 2024-03-24 17:39:09 浏览: 56
好的,你可以尝试以下代码:
```python
scores_dict = {}
while True:
name = input("请输入学生姓名,输入 q 退出输入:")
if name == "q":
break
scores = input("请输入该学生的成绩,以空格分隔:")
scores_list = scores.split()
scores_list = [int(score) for score in scores_list]
scores_list.sort()
scores_list = scores_list[1:-1]
average_score = sum(scores_list) / len(scores_list)
scores_dict[name] = average_score
sorted_scores = sorted(scores_dict.items(), key=lambda x: x[0])
for name, score in sorted_scores:
print(name, "的平均分为:", score)
```
这段代码将会让你输入学生姓名和成绩,以空格分隔。每输入一个学生的信息,程序就会计算该学生的平均分,并将姓名和平均分存储在字典 `scores_dict` 中。当你输入 `q` 后,程序会停止输入并将字典按照姓名排序,并输出每个学生的姓名和平均分。
阅读全文