排课系统




teachers = [
{"name": "张老师", "available_times": ["周六上午", "周日下午"]},
{"name": "李老师", "available_times": ["周六下午", "周日上午"]}
]
courses = [
{"name": "数学", "teacher": "张老师", "time": "周六上午", "classroom": "101"},
{"name": "英语", "teacher": "李老师", "time": "周六下午", "classroom": "102"}
]
def check_conflicts(schedule):
for i in range(len(schedule)):
for j in range(i + 1, len(schedule)):
if schedule[i]["teacher"] == schedule[j]["teacher"] and schedule[i]["time"] == schedule[j]["time"]:
return True
return False
def assign_courses(courses, teachers):
assigned_courses = []
for course in courses:
for teacher in teachers:
if course["teacher"] == teacher["name"] and course["time"] in teacher["available_times"]:
assigned_courses.append(course)
break
if check_conflicts(assigned_courses):
print("存在排课冲突,请重新调整。")
else:
print("排课成功!")
return assigned_courses