10.设计一个学生类stu,属性包括姓名、学号、成绩,方法包括show()输出学生信息; 设计一个班级管理类manage,属性包括保存学生对象的列表,方法包括addstu()实现添 加学生信息、sortstu()按照学号或成绩排序(若学号或成绩相等则按输入顺序输出)、 showclass()输出所有学生信息。 输入3名学生的信息以及排序条件,定义1个manage类对象manager及stu类对象,实现将 学生信息进行升序排序并输出
时间: 2024-02-16 13:00:01 浏览: 62
好的,以下是符合要求的代码实现:
```python
class stu:
def __init__(self, name, id, score):
self.name = name
self.id = id
self.score = score
def show(self):
print("姓名:{},学号:{},成绩:{}".format(self.name, self.id, self.score))
class manage:
def __init__(self):
self.stu_list = []
def addstu(self, s):
self.stu_list.append(s)
def sortstu(self, key):
self.stu_list.sort(key=key)
def showclass(self):
for s in self.stu_list:
s.show()
# 主程序
manager = manage()
# 输入3名学生信息
s1 = stu("Tom", "1001", 80)
s2 = stu("Jerry", "1002", 90)
s3 = stu("Bob", "1003", 70)
# 添加学生信息到班级管理类对象
manager.addstu(s1)
manager.addstu(s2)
manager.addstu(s3)
# 定义排序条件函数
def sort_key(s):
return s.id
# 按照学号升序排序并输出
manager.sortstu(key=sort_key)
manager.showclass()
```
输出结果为:
```
姓名:Tom,学号:1001,成绩:80
姓名:Jerry,学号:1002,成绩:90
姓名:Bob,学号:1003,成绩:70
```
阅读全文