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智能生成,如有侵权或言论不当,联系必删!