编写一个程序,从键盘输人一批学生的成绩信息,每个学生的成绩信息包括学号、姓名以及8门课的成绩。然后按照平均成绩由高到低的顺序输出学生的学号、姓名、8门课的成绩以及平均成绩。
时间: 2023-12-23 14:49:57 浏览: 34
下面是一个Python程序的实现示例:
```python
# 定义一个类表示学生
class Student:
def __init__(self, id, name, scores):
self.id = id
self.name = name
self.scores = scores
def get_average_score(self):
return sum(self.scores) / len(self.scores)
# 读取学生信息
students = []
while True:
id = input("请输入学生学号:")
if not id:
break
name = input("请输入学生姓名:")
scores = []
for i in range(8):
score = int(input("请输入第%d门课成绩:" % (i + 1)))
scores.append(score)
student = Student(id, name, scores)
students.append(student)
# 按照平均成绩排序并输出
students.sort(key=lambda s: s.get_average_score(), reverse=True)
for student in students:
print("学号:%s,姓名:%s,成绩:%s,平均成绩:%.2f" % (student.id, student.name, student.scores, student.get_average_score()))
```
运行程序后,按照提示输入学生信息和成绩即可。程序会自动计算每个学生的平均成绩,并按照平均成绩从高到低的顺序输出每个学生的学号、姓名、8门课的成绩以及平均成绩。