用线性表实现学生成绩管理系统
时间: 2023-05-29 19:06:37 浏览: 100
以下是一个基于线性表的学生成绩管理系统的示例代码:
```python
class Student:
def __init__(self, name, score):
self.name = name
self.score = score
class ScoreTable:
def __init__(self):
self.data = []
def add_student(self, name, score):
student = Student(name, score)
self.data.append(student)
def remove_student(self, name):
for student in self.data:
if student.name == name:
self.data.remove(student)
return True
return False
def update_score(self, name, new_score):
for student in self.data:
if student.name == name:
student.score = new_score
return True
return False
def get_score(self, name):
for student in self.data:
if student.name == name:
return student.score
return None
def get_all_students(self):
return [student.name for student in self.data]
def get_all_scores(self):
return [student.score for student in self.data]
```
在这个示例中,我们定义了一个`Student`类来表示学生和他们的成绩,并定义了一个`ScoreTable`类来管理学生和成绩的数据。`ScoreTable`类包含了一些基本操作,如添加学生、删除学生、更新成绩、获取成绩等。我们可以使用这些操作来实现一个完整的学生成绩管理系统。
例如,我们可以使用以下代码来测试这个学生成绩管理系统:
```python
score_table = ScoreTable()
score_table.add_student("Alice", 85)
score_table.add_student("Bob", 92)
score_table.add_student("Charlie", 78)
print(score_table.get_all_students()) # ['Alice', 'Bob', 'Charlie']
print(score_table.get_all_scores()) # [85, 92, 78]
score_table.update_score("Bob", 95)
print(score_table.get_score("Bob")) # 95
score_table.remove_student("Charlie")
print(score_table.get_all_students()) # ['Alice', 'Bob']
```
这个示例演示了如何使用`ScoreTable`类来添加、删除、更新和获取学生和成绩的信息。我们可以根据需要进行扩展,例如添加其他操作或数据验证逻辑。