class Teacher:
def __init__(self, name, subjects):
self.name = name
self.subjects = subjects
class Course:
def __init__(self, subject, teacher, room):
self.subject = subject
self.teacher = teacher
self.room = room
teachers = [Teacher("张老师", ["数学", "物理"]), Teacher("李老师", ["语文", "历史"])]
courses = [Course("数学", teachers[0], "教室A"), Course("语文", teachers[1], "教室B")]
import random
def assign_courses(courses, teachers):
schedule = {}
for teacher in teachers:
available_slots = ["周一上午", "周一中午", "周二上午", "周二中午"]
random.shuffle(available_slots)
for course in courses:
if course.teacher == teacher:
schedule[(teacher.name, course.subject)] = available_slots.pop()
return schedule
result = assign_courses(courses, teachers)
print(result)

def check_conflicts(schedule, courses):
conflicts = []
for i in range(len(courses)):
for j in range(i + 1, len(courses)):
if (courses[i].teacher == courses[j].teacher and
schedule[(courses[i].teacher, courses[i].subject)] == schedule[(courses[j].teacher, courses[j].subject)]):
conflicts.append((courses[i], courses[j]))
return conflicts
本站部分内容及素材来源于互联网,由AI智能生成,如有侵权或言论不当,联系必删!