设计一个类student,该类包括姓名、学号和成绩。设计一个方法,按照成绩从高到低的顺序输出姓名、学号和成绩信息
时间: 2023-04-28 21:01:08 浏览: 186
可以这样设计一个类student:
```python
class Student:
def __init__(self, name, id, score):
self.name = name
self.id = id
self.score = score
def __str__(self):
return f"{self.name}({self.id}): {self.score}"
@staticmethod
def sort_by_score(students):
return sorted(students, key=lambda s: s.score, reverse=True)
```
其中,`__init__`方法用于初始化学生的姓名、学号和成绩;`__str__`方法用于将学生对象转换为字符串,方便输出;`sort_by_score`方法是一个静态方法,用于按照成绩从高到低的顺序对学生列表进行排序。
使用方法如下:
```python
students = [
Student("张三", "001", 90),
Student("李四", "002", 80),
Student("王五", "003", 95),
]
sorted_students = Student.sort_by_score(students)
for student in sorted_students:
print(student)
```
输出结果为:
```
王五(003): 95
张三(001): 90
李四(002): 80
```
即按照成绩从高到低的顺序输出了学生的姓名、学号和成绩信息。