小学不同年级不同班级不同课程自动排课教师不能冲突Python代码
以下是一个使用Python实现的简单自动排课的示例代码:
class Course:
def __init__(self, name, teacher):
self.name = name
self.teacher = teacher
class Class:
def __init__(self, name, grade):
self.name = name
self.grade = grade
self.courses = []
def add_course(self, course):
self.courses.append(course)
# 创建教师列表和课程列表
teachers = ["教师A", "教师B", "教师C"]
courses = [Course("语文", "教师A"), Course("数学", "教师B"), Course("英语", "教师C")]
# 创建班级列表
classes = [Class("1班", 1), Class("2班", 2), Class("3班", 3)]
# 自动排课
for c in courses:
for cls in classes:
if c.teacher not in [course.teacher for course in cls.courses] and cls.grade == 1:
cls.add_course(c)
break
# 输出排课结果
for cls in classes:
print(cls.name, "的课程:")
for c in cls.courses:
print(c.name, "授课教师:", c.teacher)
print()
这个示例代码中,首先定义了一个Course类和一个Class类,分别表示课程和班级。然后创建了教师列表和课程列表,并创建了班级列表。接下来,使用嵌套循环遍历课程列表和班级列表,根据条件判断教师是否冲突,并将课程添加到对应的班级的课程列表中。最后,输出排课结果。请根据实际需求进行修改和扩展
原文地址: https://www.cveoy.top/t/topic/iHYD 著作权归作者所有。请勿转载和采集!