如何使用Python实现一个基于顺序表的学生成绩管理系统,该系统应支持以下操作:1)列出所有学生的详细信息;2)允许用户输入并存储新的学生记录;3)根据学号和课程查询或删除特定的学生记录?请提供相关的代码示例。
时间: 2024-10-21 07:12:44 浏览: 12
在Python中,我们可以使用列表(list)作为简单的顺序表来实现一个基础的学生成绩管理系统。下面是一个简单的实现,包括了创建、查询、添加和删除学生记录的功能:
```python
class StudentRecord:
def __init__(self, student_id, courses):
self.student_id = student_id
self.courses = {course: None for course in courses} # 使用字典存储每个课程的成绩
class GradeManager:
def __init__(self):
self.students = []
# 添加新学生记录
def add_student(self, student_id, courses):
new_student = StudentRecord(student_id, courses)
self.students.append(new_student)
# 列出所有学生的详细信息
def list_students(self):
for student in self.students:
print(f"学生ID: {student.student_id}")
print("课程及成绩:")
for course, score in student.courses.items():
if score is not None:
print(f"{course}: {score}")
# 根据学号查询学生记录
def search_by_id(self, student_id):
for student in self.students:
if student.student_id == student_id:
return student
return None
# 删除学生记录
def delete_student(self, student_id):
self.students = [student for student in self.students if student.student_id != student_id]
# 示例使用
grade_manager = GradeManager()
grade_manager.add_student(1001, ['数学', '英语'])
grade_manager.add_student(1002, ['物理', '化学'])
grade_manager.list_students()
student = grade_manager.search_by_id(1001)
if student:
student.courses['数学'] = 95
print(f"更新后的成绩: {student.courses}")
grade_manager.delete_student(1002)
grade_manager.list_students()
阅读全文