Python超详细实现完整学生成绩管理系统
系统概述
本系统是一个基于Python的学生成绩管理系统,能够方便地记录学生的基本信息,并可以录入和查询学生的各科成绩情况。该系统主要包括三个模块,分别是学生信息管理模块、成绩录入模块和成绩查询模块。具体实现依赖于Python基础知识和面向对象编程的概念。
功能模块介绍
学生信息管理模块
- 学生基本信息录入;
- 学生基本信息查询;
- 学生基本信息修改;
- 学生基本信息删除。
成绩录入模块
- 成绩录入功能;
- 成绩修改功能。
成绩查询模块
- 学生单科成绩查询;
- 学生总分查询。
实现过程
1. 创建数据存储类
- 定义
Student
类来存储学生信息; - 定义
Score
类来存储学生成绩。
class Student:
def __init__(self, id, name, age, gender):
self.id = id
self.name = name
self.age = age
self.gender = gender
class Score:
def __init__(self, id, chinese, math, english):
self.id = id
self.chinese = chinese
self.math = math
self.english = english
2. 实现学生信息管理模块
- 实现学生信息录入功能;
- 实现学生信息查询/修改/删除功能。
class StudentManager:
def __init__(self):
self.students = []
def add_student(self, student):
self.students.append(student)
def remove_student(self, id):
for s in self.students:
if s.id == id:
self.students.remove(s)
return
def get_student(self, id):
for s in self.students:
if s.id == id:
return s
def update_student(self, student):
for i, s in enumerate(self.students):
if s.id == student.id:
self.students[i] = student
return
3. 实现成绩录入模块
- 实现成绩录入功能;
- 实现成绩修改功能。
class ScoreManager:
def __init__(self):
self.scores = []
def add_score(self, score):
self.scores.append(score)
def update_score(self, score):
for i, s in enumerate(self.scores):
if s.id == score.id:
self.scores[i] = score
return
4. 实现成绩查询模块
- 实现学生单科成绩查询;
- 实现学生总分查询。
class ScoreQuery:
def __init__(self):
self.scores = None
def set_scores(self, scores):
self.scores = scores
def get_score(self, id, subject):
for s in self.scores:
if s.id == id:
if subject == 'chinese':
return s.chinese
elif subject == 'math':
return s.math
elif subject == 'english':
return s.english
return None
def get_total_score(self, id):
score = 0
for s in self.scores:
if s.id == id:
score += s.chinese + s.math + s.english
return score
5. 主程序调用
- 实例化各个类对象;
- 调用各个功能模块。
if __name__ == '__main__':
sm = StudentManager()
scorem = ScoreManager()
scoreq = ScoreQuery()
# 添加学生信息
sm.add_student(Student(1, 'Tony', 20, '男'))
sm.add_student(Student(2, 'Alice', 19, '女'))
# 更新学生信息
s = sm.get_student(1)
s.name = 'Tom'
sm.update_student(s)
# 删除学生信息
sm.remove_student(2)
# 添加学生成绩
scorem.add_score(Score(1, 90, 80, 70))
scorem.add_score(Score(2, 60, 70, 80))
# 查询学生成绩
scoreq.set_scores(scorem.scores)
print(scoreq.get_score(1, 'chinese'))
print(scoreq.get_total_score(1))
示例说明
示例1:添加学生信息
sm.add_student(Student(1, 'Tony', 20, '男'))
sm.add_student(Student(2, 'Alice', 19, '女'))
在示例中,创建了StudentManager
类对象sm
,并分别添加了两个学生信息,分别是id为1的学生Tony和id为2的学生Alice。
示例2:更新学生信息
s = sm.get_student(1)
s.name = 'Tom'
sm.update_student(s)
在示例中,根据id为1的学生信息,更新了该学生的姓名为Tom。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python超详细实现完整学生成绩管理系统 - Python技术站