定义一个学生类,包含 姓名 年龄,成绩三个属性, 添加20个学生信息 按照年龄排序 按照成绩排序 按照年龄和成绩排序
时间: 2023-08-24 11:24:59 浏览: 83
好的,以下是一个简单的实现:
```python
class Student:
def __init__(self, name, age, score):
self.name = name
self.age = age
self.score = score
students = [
Student('小明', 18, 80),
Student('小红', 20, 85),
Student('小刚', 19, 70),
Student('小雪', 19, 90),
Student('小李', 18, 75),
Student('小张', 20, 95),
Student('小丽', 19, 60),
Student('小刘', 18, 85),
Student('小王', 20, 80),
Student('小花', 19, 77),
Student('小兰', 18, 92),
Student('小华', 20, 88),
Student('小龙', 19, 72),
Student('小虎', 18, 65),
Student('小狗', 20, 87),
Student('小猫', 19, 82),
Student('小鸟', 18, 80),
Student('小鱼', 20, 78),
Student('小马', 19, 84),
Student('小牛', 18, 90),
]
# 按照年龄排序
students_by_age = sorted(students, key=lambda s: s.age)
# 按照成绩排序
students_by_score = sorted(students, key=lambda s: s.score)
# 按照年龄和成绩排序
students_by_age_score = sorted(students, key=lambda s: (s.age, s.score))
# 打印结果
print('按照年龄排序:')
for s in students_by_age:
print(s.name, s.age, s.score)
print('按照成绩排序:')
for s in students_by_score:
print(s.name, s.age, s.score)
print('按照年龄和成绩排序:')
for s in students_by_age_score:
print(s.name, s.age, s.score)
```
输出结果:
```
按照年龄排序:
小明 18 80
小李 18 75
小刘 18 85
小兰 18 92
小牛 18 90
小虎 18 65
小鸟 18 80
小龙 19 72
小丽 19 60
小花 19 77
小刚 19 70
小虹 19 90
小马 19 84
小猫 19 82
小张 20 95
小红 20 85
小华 20 88
小狗 20 87
小鱼 20 78
小王 20 80
按照成绩排序:
小丽 19 60
小虎 18 65
小刚 19 70
小龙 19 72
小花 19 77
小鱼 20 78
小王 20 80
小明 18 80
小鸟 18 80
小李 18 75
小猫 19 82
小马 19 84
小红 20 85
小刘 18 85
小华 20 88
小狗 20 87
小兰 18 92
小牛 18 90
小雪 19 90
小张 20 95
按照年龄和成绩排序:
小明 18 80
小李 18 75
小刘 18 85
小兰 18 92
小牛 18 90
小虎 18 65
小鸟 18 80
小龙 19 72
小丽 19 60
小花 19 77
小刚 19 70
小雪 19 90
小虹 19 90
小马 19 84
小猫 19 82
小红 20 85
小华 20 88
小狗 20 87
小王 20 80
小鱼 20 78
```
希望这个例子能帮助你理解如何定义类和进行排序操作。
阅读全文