程序填空并调试: 有5名学生,每个学生的数据信息包括学号、姓名和一门课的成绩。要求按学生的成绩由高到低排序,然后输出学生的信息以及平均成绩。
时间: 2024-01-03 15:03:53 浏览: 45
下面是 Python 代码实现,可以直接运行并输出结果:
```python
class Student:
def __init__(self, id, name, score):
self.id = id
self.name = name
self.score = score
def __repr__(self):
return f"{self.id}\t{self.name}\t{self.score}"
def sort_students(students):
return sorted(students, key=lambda s: s.score, reverse=True)
def print_students(students):
for s in students:
print(s)
avg_score = sum(s.score for s in students) / len(students)
print(f"平均成绩:{avg_score:.2f}")
if __name__ == '__main__':
students = [
Student(1, "张三", 80),
Student(2, "李四", 90),
Student(3, "王五", 75),
Student(4, "赵六", 85),
Student(5, "钱七", 95),
]
sorted_students = sort_students(students)
print_students(sorted_students)
```
输出结果如下:
```
5 钱七 95
2 李四 90
4 赵六 85
1 张三 80
3 王五 75
平均成绩:85.00
```