有n个学生,每个学生的数据包括学号,姓名, 三门课成绩,平均成绩。编写一个python程序,完成以 下功能: (1)输入一个正整数n下面n行输入n个学生的学号,姓名,和三门 课成绩; (2)计算每个学生的平均成绩并输出所有学生根据平均分从高到低排序后 的数据(包括该学生的学号,姓名,平均分(保留两位小数))
时间: 2023-12-26 10:25:40 浏览: 113
可以使用字典来保存每个学生的数据,然后计算平均分并排序输出。以下是实现代码:
```python
n = int(input("请输入学生人数:"))
students = []
for i in range(n):
print(f"请输入第{i+1}个学生的信息:")
student = {}
student['学号'] = input("学号:")
student['姓名'] = input("姓名:")
student['成绩1'] = float(input("成绩1:"))
student['成绩2'] = float(input("成绩2:"))
student['成绩3'] = float(input("成绩3:"))
student['平均分'] = round((student['成绩1'] + student['成绩2'] + student['成绩3']) / 3, 2)
students.append(student)
students = sorted(students, key=lambda x: x['平均分'], reverse=True)
print("按平均分从高到低排序后的学生信息:")
for student in students:
print(f"学号:{student['学号']},姓名:{student['姓名']},平均分:{student['平均分']}")
```
运行程序后,可以按照提示输入学生信息,最后输出按平均分从高到低排序后的学生信息。
阅读全文