可以使用pandas库来实现输出每天每节课的课程表到Excel的功能。以下是一种可能的实现方式:

import pandas as pd

# 定义年级、班级、老师、科目和课时量
grades = ["一年级", "二年级", "三年级", "四年级", "五年级", "六年级"]
classes = ["1班", "2班", "3班", "4班", "5班", "6班"]
teachers = ["老师1", "老师2", "老师3", "老师4", "老师5", "老师6", "老师7", "老师8", "老师9", "老师10", "老师11"]
subjects = ["语文", "数学", "英语", "体育", "科目1", "科目2", "科目3", "科目4", "科目5", "科目6", "科目7"]
subject_hours = {
    "一年级": {"语文": 4, "数学": 4, "英语": 4, "体育": 2},
    "二年级": {"语文": 4, "数学": 4, "英语": 4, "体育": 2},
    "三年级": {"语文": 4, "数学": 4, "英语": 4, "体育": 2},
    "四年级": {"语文": 4, "数学": 4, "英语": 4, "体育": 2},
    "五年级": {"语文": 4, "数学": 4, "英语": 4, "体育": 2},
    "六年级": {"语文": 4, "数学": 4, "英语": 4, "体育": 2}
}

# 创建每天每节课的课程表
df = pd.DataFrame(index=range(1, 8), columns=range(1, 8))

# 填充每天每节课的课程表
for day in range(1, 6):  # 每周5天
    for period in range(1, 8):  # 每天7节课
        if period <= 3:  # 语数英排前3节
            subject_list = ["语文", "数学", "英语"]
        else:
            subject_list = subjects[3:]  # 非语文科目从第4节开始
        for grade, cls in zip(grades, classes):
            subject_hours_grade = subject_hours[grade]
            for teacher in teachers:
                if teacher in subject_hours_grade:
                    hours_per_day = subject_hours_grade[teacher] / 5
                    if teacher in subject_list and period <= (hours_per_day + 1):
                        df.loc[period, day] = f"{grade}{cls}-{teacher}-{teacher}"
                        subject_list.remove(teacher)
                        break
                    elif teacher == "体育" and period <= (hours_per_day + 1):
                        df.loc[period, day] = f"{grade}{cls}-{teacher}"
                        break
                    elif teacher not in subject_list:
                        df.loc[period, day] = f"{grade}{cls}-{teacher}"
                        break

# 输出到Excel文件
df.to_excel("课程表.xlsx", index=False, header=False)

运行以上代码后,会生成一个名为"课程表.xlsx"的Excel文件,其中包含了每天每节课的课程表。每个单元格的内容以"年级班级-老师-科目"的格式表示,如果是体育科目,则只显示"年级班级-体育"

小学有6个年级每个年级1个班有11个老师不同年级有不同科目和指定科目的课时量不同教师指定科目和科目课时量每周上5天每天7节课每个教师每天课时量不超过自己周课时数除以5的平均数语数英只排每天前3节里体育不排每天前3节里非语文科目不能1天出现2次每个科目不能连续上2节pandas输出每天每节课课程表到Excel Python实用代码

原文地址: https://www.cveoy.top/t/topic/iIam 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录