做一个教务管理系统的代码
时间: 2023-12-10 14:39:07 浏览: 74
教务管理系统是一个比较大型的项目,需要考虑到很多方面,包括学生信息管理、课程管理、成绩管理、教师管理等等。以下是一个简单的教务管理系统代码示例,供参考:
```python
class Student:
def __init__(self, id, name, grade, major):
self.id = id
self.name = name
self.grade = grade
self.major = major
class Course:
def __init__(self, id, name, teacher):
self.id = id
self.name = name
self.teacher = teacher
self.students = []
def add_student(self, student):
self.students.append(student)
class Teacher:
def __init__(self, id, name, courses):
self.id = id
self.name = name
self.courses = courses
class Grade:
def __init__(self, student, course, score):
self.student = student
self.course = course
self.score = score
class School:
def __init__(self):
self.students = []
self.teachers = []
self.courses = []
self.grades = []
def add_student(self, student):
self.students.append(student)
def add_teacher(self, teacher):
self.teachers.append(teacher)
def add_course(self, course):
self.courses.append(course)
def add_grade(self, grade):
self.grades.append(grade)
def get_student(self, id):
for student in self.students:
if student.id == id:
return student
return None
def get_teacher(self, id):
for teacher in self.teachers:
if teacher.id == id:
return teacher
return None
def get_course(self, id):
for course in self.courses:
if course.id == id:
return course
return None
def get_grades(self, student=None, course=None):
if student is None and course is None:
return self.grades
elif student is not None and course is None:
return [grade for grade in self.grades if grade.student.id == student.id]
elif student is None and course is not None:
return [grade for grade in self.grades if grade.course.id == course.id]
else:
return [grade for grade in self.grades if grade.student.id == student.id and grade.course.id == course.id]
# 示例代码:
school = School()
# 添加学生
student1 = Student(1, "张三", 1, "计算机科学与技术")
student2 = Student(2, "李四", 2, "软件工程")
school.add_student(student1)
school.add_student(student2)
# 添加教师
teacher1 = Teacher(1, "王老师", [])
teacher2 = Teacher(2, "李老师", [])
school.add_teacher(teacher1)
school.add_teacher(teacher2)
# 添加课程
course1 = Course(1, "Python程序设计", teacher1)
course2 = Course(2, "Java程序设计", teacher2)
school.add_course(course1)
school.add_course(course2)
# 学生选课
course1.add_student(student1)
course2.add_student(student2)
# 教师上课
teacher1.courses.append(course1)
teacher2.courses.append(course2)
# 成绩录入
grade1 = Grade(student1, course1, 90)
grade2 = Grade(student2, course2, 85)
school.add_grade(grade1)
school.add_grade(grade2)
# 查询成绩
print(school.get_grades(student1, course1)) # 输出[<__main__.Grade object at 0x7f5b6d47ce50>]
```
这只是一个简单的示例,实际的教务管理系统需要考虑到更多的细节和功能。