<pre><code>
import random

class Course:
def __init__(self, name, duration):
self.name = name
self.duration = duration
class Teacher:
def __init__(self, name):
self.name = name
self.courses = []
def generate_schedule(teachers, courses):
schedule = {}
for teacher in teachers:
available_time = [0] * (5 * 8) # 假设一周有5天,每天8节课
for course in teacher.courses:
start_time = random.choice([i for i, time in enumerate(available_time) if time == 0])
while start_time + course.duration > len(available_time):
start_time = random.choice([i for i, time in enumerate(available_time) if time == 0])
for i in range(start_time, start_time + course.duration):
available_time[i] = 1
schedule.setdefault(teacher.name, []).append((course.name, start_time // 8 + 1, start_time % 8 + 1))
return schedule
def display_schedule(schedule):
print("教师排课表:")
for teacher, classes in schedule.items():
print(f"{teacher}:")
for class_info in classes:
print(f" {class_info[0]}: 第{class_info[1]}周, 第{class_info[2]}节")
teachers = [Teacher('张老师'), Teacher('李老师')]

courses = [Course('数学', 2), Course('英语', 3)]
for teacher in teachers:
teacher.courses.append(random.choice(courses))
schedule = generate_schedule(teachers, courses)
display_schedule(schedule)
</code></pre>
本站部分内容及素材来源于互联网,如有侵权,联系必删!
客服经理