School-Timetable-Generator:基于 Python 的学校排课工具项目

一个可以帮助中小学生成符合需求的课程表的小工具 A small tool that can help primary and secondary schools generate course schedules that meet their needs

分支1Tags7
当前项目代码仓暂无内容

logo

课程表生成器

一个可以帮助学校生成符合需求的课程表的小工具

GPLv3 Python

img.png

项目介绍

这是一个排课工具,可以帮助学校老师轻松生成全校班级和教师的课程安排表。

https://github.com/user-attachments/assets/54e25ec6-498b-427b-86a1-bcbc8a48aced

主要亮点

  • 界面简洁易上手,几乎无学习成本
  • 课程表生成规则支持自定义
  • 功能人性化,如减少教师连堂、平均分配课程等

支持的功能

设置选项

settings.png

  • 导出、导入设置
  • 导入课程信息表(可下载表格模板)
  • 调整上下午课程数量
  • 设置年级信息
  • 自定义生成规则:必须排、不能排、优先排、同时最多排、不能同时排、老师不能同时排、连堂、单双周
  • 减少教师连堂
  • 平均分配课程
  • 设置活动名称、时间
  • 设置学校名称
  • 设置课程起止时间
  • 设置是否显示教师姓名
  • 设置导出后的文字字体、字号

生成后手动调整

  • 表格内拖拽可交换
  • 点击课程时或拖拽过程中可用不同颜色显示能否交换,并在右侧同步显示任课教师的课程表便于对照
  • 可将课程拖拽至暂存区暂放(左侧会有小红点提醒未排完)
  • 单双周课程可以通过拖拽合并、拆分

调整后直接导出为excel

最终可直接导出以下四份表格(信息为示例,点击图片可跳转至excel文件):

  • 班级课表(按年段整理)
  • 教师课表(按年段整理)
  • 班级总表(全校的班级汇总课表)
  • 教师总表(全校的教师汇总课表)

使用方法(二选一)

一、自行搭建运行环境

  1. 前往Python官网下载并安装Python3.9+版本
  2. 将本项目下载解压到本地
  3. 在项目根目录运行pip install -r requirements.txt(报错可搜索pip换源
  4. 双击main.py或运行python main.py即可启动

二、使用Releases中的安装包

  • 选择对应版本的安装包(后缀为Setup.exe),双击安装即可
  • 下载压缩包(.zip格式)解压到任意位置,双击运行School-Timetable-Generator.exe

许可证

根据 GPL v3.0 许可证分发。打开 LICENSE 查看更多内容。

Copyright © 2026 Hengxiaopi.

致谢

本项目使用了以下开源项目:

感谢以下贡献者:

特别感谢buBailai为本项目的开发提供宝贵数据和建议

项目介绍

一个可以帮助中小学生成符合需求的课程表的小工具 A small tool that can help primary and secondary schools generate course schedules that meet their needs

https://stg.hengxiaopi.dpdns.org/定制我的领域