设计一个学生信息管理系统,学生对象至少要包含:学号、姓名、成绩等信息。要求实现以下功能: 1、查找:分别给定学生学号、姓名,能够查找到学生的基本信息(要求至少实现改进后的顺序查找算法); 2、排序:分
时间: 2024-12-19 07:17:39 浏览: 27
设计一个学生信息管理系统,可以采用面向对象的方式,首先创建一个名为`Student`的类,包含基本属性如学号(`studentID`)、姓名(`name`)和成绩(`score`)。为了实现查找和排序功能,我们可以添加如下方法:
```python
class Student:
def __init__(self, studentID, name, score):
self.studentID = studentID
self.name = name
self.score = score
class StudentManager:
def __init__(self):
# 使用列表存储学生对象,由于要求改进顺序查找,这里暂用列表
self.students = []
# 添加学生
def add_student(self, student):
self.students.append(student)
# 查找学生(顺序查找)
def search_by_id(self, id_search):
for student in self.students:
if student.studentID == id_search:
return f"找到学生,学号:{student.studentID}, 姓名:{student.name}, 成绩:{student.score}"
return "未找到该学生"
def search_by_name(self, name_search):
for student in self.students:
if student.name == name_search:
return f"找到学生,学号:{student.studentID}, 姓名:{student.name}, 成绩:{student.score}"
return "未找到该学生"
# 排序(按成绩从高到低)
def sort_students(self):
self.students.sort(key=lambda s: s.score, reverse=True)
return "学生已按照成绩从高到低排序"
# 示例操作
manager = StudentManager()
student1 = Student(1001, '张三', 95)
student2 = Student(1002, '李四', 88)
manager.add_student(student1)
manager.add_student(student2)
# 查找
print(manager.search_by_id(1001))
print(manager.search_by_name('李四'))
# 排序
manager.sort_students()
```
阅读全文