如何用python写一个可以录入学生信息、录入学生成绩、查询学生信息、查询学生成绩、修改学生成绩、删除学生成绩的系统
时间: 2023-07-10 11:21:34 浏览: 107
可以使用Python的面向对象编程实现一个简单的学生成绩管理系统,具体实现步骤如下:
1. 定义一个Student类,包括学生的基本信息:姓名、学号、性别、班级等。
```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
```
2. 定义一个Score类,包括学生成绩信息:学号、科目、成绩等。
```python
class Score:
def __init__(self, std_id, subject, score):
self.std_id = std_id
self.subject = subject
self.score = score
```
3. 定义一个管理系统类,包括学生信息和成绩的增删改查等功能。
```python
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
```
4. 可以使用控制台或者GUI界面与用户交互,调用管理系统类的相应方法实现各种功能。
示例代码:
```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('删除成功')
```
阅读全文