1.定义一个学生类,包含 姓名 年龄,成绩三个属性, 添加20个学生信息 按照年龄排序 按照成绩排序 按照年龄和成绩排序
时间: 2023-12-16 11:04:49 浏览: 83
一个 Student类:包括姓名、学号、性别、专业、家庭地址。
好的,我可以帮你定义一个学生类,并根据你的要求对学生信息进行排序。
以下是学生类的定义代码:
```python
class Student:
def __init__(self, name, age, grade):
self.name = name
self.age = age
self.grade = grade
```
你可以用这个类来创建20个学生的实例,代码如下:
```python
students = [
Student("Tom", 18, 90),
Student("Jerry", 20, 85),
Student("Lucy", 19, 92),
Student("John", 21, 80),
Student("Mary", 18, 95),
Student("Bob", 20, 86),
Student("Alice", 19, 88),
Student("Lily", 21, 83),
Student("Jack", 18, 89),
Student("David", 20, 82),
Student("Emma", 19, 91),
Student("Sam", 21, 87),
Student("Olivia", 18, 94),
Student("Peter", 20, 84),
Student("Grace", 19, 90),
Student("Alex", 21, 81),
Student("Sophia", 18, 88),
Student("Kate", 20, 82),
Student("Eric", 19, 93),
Student("Lisa", 21, 85)
]
```
接下来,我们可以使用Python内置的`sorted()`函数来按照年龄排序,代码如下:
```python
sorted_by_age = sorted(students, key=lambda x: x.age)
```
这个代码会返回按照年龄从小到大排序后的学生列表。
我们也可以按照成绩排序,代码如下:
```python
sorted_by_grade = sorted(students, key=lambda x: x.grade, reverse=True)
```
这个代码会返回按照成绩从大到小排序后的学生列表。
最后,我们可以按照年龄和成绩排序,代码如下:
```python
sorted_by_age_and_grade = sorted(sorted_by_age, key=lambda x: x.grade, reverse=True)
```
这个代码会返回先按照年龄排序,再在年龄相同的情况下按照成绩从大到小排序后的学生列表。
阅读全文