小学有11个老师6个年级二年级2个班其他年级1个班各年级课程不同教师上指定课程和课时量一周算5天一天7节课语数英只排1-3节体育不排1-3节同一课程不连续上课同一课程每天不能出现3次遗传排课pandas输出Excel Python代码
以下是使用pandas库输出Excel的Python代码:
import pandas as pd
# 创建DataFrame
df = pd.DataFrame(columns=['老师', '年级', '班级', '课程', '课时'])
# 指定老师
teachers = ['老师1', '老师2', '老师3', '老师4', '老师5', '老师6', '老师7', '老师8', '老师9', '老师10', '老师11']
# 指定年级和班级
grades = ['一年级', '二年级', '三年级', '四年级', '五年级', '六年级']
classes = ['班级1', '班级2', '班级3', '班级4', '班级5', '班级6']
# 指定课程和课时量
courses = ['语文', '数学', '英语', '体育']
course_hours = {'语文': 4, '数学': 3, '英语': 3, '体育': 2}
# 定义课程安排函数
def schedule_course(teacher, grade, class_, course, hours):
global df
df = df.append({'老师': teacher, '年级': grade, '班级': class_, '课程': course, '课时': hours}, ignore_index=True)
# 安排语数英课程
for grade in grades:
for class_ in classes:
for i in range(3):
schedule_course(teachers[i], grade, class_, '语文', course_hours['语文'])
schedule_course(teachers[i+3], grade, class_, '数学', course_hours['数学'])
schedule_course(teachers[i+6], grade, class_, '英语', course_hours['英语'])
# 安排体育课程
for grade in grades:
for class_ in classes:
schedule_course(teachers[9], grade, class_, '体育', course_hours['体育'])
# 将DataFrame导出为Excel文件
df.to_excel('schedule.xlsx', index=False)
这段代码首先创建了一个空的DataFrame,然后使用循环将每个老师在不同年级和班级上的课程安排添加到DataFrame中。最后,将DataFrame导出为名为'schedule.xlsx'的Excel文件
原文地址: https://www.cveoy.top/t/topic/iH0m 著作权归作者所有。请勿转载和采集!