输入 5个学生的姓名和成绩,输出其中最高分及最高分的学 生姓名,最低分及最低分学生的姓名和平均分。要求利用字典实现
时间: 2023-12-16 22:06:00 浏览: 233
从键盘上输入N 个学生的姓名及M科考试成绩,找出成绩最高/低的学生,显示 该学生的姓名及他的总分和平均分 要求考虑成绩相同的情况
5星 · 资源好评率100%
好的,下面是用字典实现输入5个学生的姓名和成绩,输出最高分及最高分的学生姓名,最低分及最低分学生的姓名和平均分的代码:
```
# 创建一个空字典,用来保存学生姓名和成绩
scores = {}
# 循环5次,输入学生姓名和成绩
for i in range(5):
name = input("请输入第{}个学生的姓名:".format(i+1))
score = float(input("请输入第{}个学生的成绩:".format(i+1)))
scores[name] = score
# 计算最高分和最高分的学生姓名
highest_score = max(scores.values())
highest_score_students = [name for name, score in scores.items() if score == highest_score]
print("最高分是:{},最高分的学生是:{}".format(highest_score, highest_score_students))
# 计算最低分和最低分的学生姓名
lowest_score = min(scores.values())
lowest_score_students = [name for name, score in scores.items() if score == lowest_score]
print("最低分是:{},最低分的学生是:{}".format(lowest_score, lowest_score_students))
# 计算平均分
average_score = sum(scores.values()) / len(scores)
print("平均分是:{:.2f}".format(average_score))
```
输出结果可能如下:
```
请输入第1个学生的姓名:张三
请输入第1个学生的成绩:80
请输入第2个学生的姓名:李四
请输入第2个学生的成绩:90
请输入第3个学生的姓名:王五
请输入第3个学生的成绩:85
请输入第4个学生的姓名:赵六
请输入第4个学生的成绩:70
请输入第5个学生的姓名:钱七
请输入第5个学生的成绩:95
最高分是:95.0,最高分的学生是:['钱七']
最低分是:70.0,最低分的学生是:['赵六']
平均分是:84.00
```
阅读全文