python写一个可以录入学生信息、录入学生成绩、查询学生信息、查询学生成绩、修改学生成绩、删除学生成绩的系统并解释说明
时间: 2023-07-10 16:21:34 浏览: 97
好的,以下是Python实现学生成绩管理系统的代码和说明:
```python
class Student:
def __init__(self, name, std_id, gender, cls):
self.name = name
self.std_id = std_id
self.gender = gender
self.cls = cls
class Score:
def __init__(self, std_id, subject, score):
self.std_id = std_id
self.subject = subject
self.score = score
class ManagementSystem:
def __init__(self):
self.students = []
self.scores = []
# 添加学生信息
def add_student(self, name, std_id, gender, cls):
student = Student(name, std_id, gender, cls)
self.students.append(student)
# 添加学生成绩
def add_score(self, std_id, subject, score):
score = Score(std_id, subject, score)
self.scores.append(score)
# 查询学生信息
def search_student(self, std_id):
for student in self.students:
if student.std_id == std_id:
return student
return None
# 查询学生成绩
def search_score(self, std_id, subject):
for score in self.scores:
if score.std_id == std_id and score.subject == subject:
return score
return None
# 修改学生成绩
def modify_score(self, std_id, subject, score):
for sc in self.scores:
if sc.std_id == std_id and sc.subject == subject:
sc.score = score
return True
return False
# 删除学生成绩
def delete_score(self, std_id, subject):
for sc in self.scores:
if sc.std_id == std_id and sc.subject == subject:
self.scores.remove(sc)
return True
return False
```
以上为定义了三个类,Student类表示学生信息,Score类表示学生成绩信息,ManagementSystem类表示学生成绩管理系统,其中包括了添加、查询、修改、删除等功能。
下面是一个简单的测试代码,演示了如何使用这个系统:
```python
if __name__ == '__main__':
# 创建管理系统对象
ms = ManagementSystem()
# 添加学生信息
ms.add_student('张三', '1001', '男', '一班')
ms.add_student('李四', '1002', '女', '二班')
# 添加学生成绩
ms.add_score('1001', '语文', 80)
ms.add_score('1001', '数学', 90)
ms.add_score('1002', '语文', 85)
ms.add_score('1002', '数学', 95)
# 查询学生信息
std = ms.search_student('1001')
if std:
print(std.name, std.gender, std.cls)
# 查询学生成绩
sc = ms.search_score('1001', '语文')
if sc:
print(sc.score)
# 修改学生成绩
if ms.modify_score('1001', '语文', 85):
print('修改成功')
# 删除学生成绩
if ms.delete_score('1002', '数学'):
print('删除成功')
```
运行结果如下:
```
张三 男 一班
80
修改成功
删除成功
```
可以看到,我们成功地添加了两个学生信息和四个学生成绩信息,然后查询了一个学生信息和一个学生成绩信息,修改了一个学生成绩信息,删除了一个学生成绩信息,并且最终的输出结果都是符合我们的预期的。
阅读全文