编写一个简单学生成绩管理程序,每个学生记录包含学号、姓名、课程和分数成员、采用顺序表存储,按学号和课程删除一个学生记录
时间: 2024-09-18 20:05:02 浏览: 103
编写一个简单的学生成绩管理系统,我们可以设计一个顺序列表结构来存储学生信息,包括学号(ID)、姓名、课程名以及对应的分数。这里我们假设每个学生的数据是一个自定义的数据结构,比如`Student`类:
```python
class Student:
def __init__(self, id, name, courses):
self.id = id
self.name = name
self.courses = {course: score for course, score in courses.items()}
class SchoolRecord:
def __init__(self):
self.students = []
# 添加学生
def add_student(self, student):
self.students.append(student)
# 删除指定学号的学生
def remove_by_id(self, id_to_remove):
self.students = [s for s in self.students if s.id != id_to_remove]
# 删除特定课程的所有学生
def remove_by_course(self, course_to_remove):
self.students = [s for s in self.students if course_to_remove not in s.courses.keys()]
# 示例使用
record = SchoolRecord()
record.add_student(Student(1, "张三", {"数学": 90, "英语": 85}))
record.add_student(Student(2, "李四", {"数学": 95, "语文": 92}))
# 删除学号为1的学生
record.remove_by_id(1)
print(record.students) # 输出剩余学生
# 删除所有"英语"课程成绩
record.remove_by_course("英语")
print(record.students) # 输出仅保留非"英语"课程的成绩
```
在这个例子中,我们首先创建了一个`SchoolRecord`类,它维护一个`students`列表来存储`Student`对象。然后提供了添加学生、按学号删除和按课程删除的功能。
阅读全文