Skip to content

andycey/Class-Scoring-Program

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ba55f51 · Feb 16, 2025

History

8 Commits
Jan 27, 2025
Feb 16, 2025
Jan 26, 2025

Repository files navigation

Class-Scoring-Program

一个用于协助班委统计和分析班级同学量化积分的程序,支持积分管理、批量加扣分、作业统计、分组管理等功能。

环境要求

  • Python 版本:3.10 或更高版本
  • 依赖的第三方库:
    • tkinter:用于图形界面
    • pandas:用于数据处理
    • os:用于文件操作
    • datetime:用于时间操作
    • decimal:用于精确处理积分

安装

  1. 安装 Python 3.10 或更高版本。
  2. 安装所需的第三方库:
    pip install pandas

配置文件要求

1. 创建班级名单文件 (班级名单.txt)

该文件需包含班级所有学生的姓名,每个姓名占一行,文件格式如下:

张三
李四
王五

2. 创建分组名单文件 (分组.txt)

分组文件用于按小组批量加扣分以及查看小组平均分。若没有此功能需求,可创建一个简单的 分组.txt 文件,内容如下:

1:张三

每个小组一行,组号与成员间用全角 分隔,成员姓名之间用空格分隔。

例如:

1:张三 赵六
2:李四 王五
3:小明 小红

若没有提供分组文件,程序将无法正常启动。

基本功能介绍

1. 加扣分功能

加扣分包括三个部分:

  • 加扣分类型:用于分类,便于后续导出到 Excel 后进行分析。如果不需要特殊分类,选择 "其他" 即可。
  • 加扣分原因:注明每次扣分的原因。
  • 加扣分数:输入数字。加分输入 1+1,扣分输入 -1

使用方式:

  • 录入分数后,可以按 Enter 键或点击 “添加分数” 按钮来添加分数。
  • 每次录入后,程序会自动清空姓名输入框,方便下次录入。
  • 录入的分数会存储在程序目录下的 积分.txt 文件中。用户可以查看、分享或删除错误的积分记录。删除时,请确保不要留下空行,否则程序会报错。

积分记录格式:

每条积分记录包含:时间、类型、原因、加扣分数。

2. 撤销与重做

  • 撤销:支持撤销当前程序会话中的所有积分记录,并显示撤销内容。
  • 重做:撤销后可以重做先前的操作,同样会显示重做内容。

3. 导入作业统计表

  • 作业统计表的要求:

    • A列为姓名。
    • 第一行是日期,日期以 12.1 这样的格式表示。
    • 未完成的作业标记为“X”。

    导入后,程序会自动解析统计表,生成作业未完成的扣分记录,并根据这些记录进行积分。

4. 个人排序

  • 个人积分会自动按照积分进行降序排列,并附上个人排行。

5. 查看小组平均分

  • 小组平均分会按照每组的平均分进行降序排列,并显示每组成员的得分。
  • 没有积分记录的成员不会显示积分。

6. 按小组批量加扣分

  • 点击后弹出窗口,用户可以选择一个分组文件。
  • 选择的分组文件格式应与 分组.txt 文件一致。如果成员不一致也可以使用。
  • 根据小组名单执行批量加扣分操作。

7. 生成作业一周报表

  • 在负责人统计作业扣分后,用户输入本周应交作业的数量。
  • 程序输出本周所有因作业扣分的条目,每个未交作业计一次作业未完成,并生成完成率排行榜。
  • 表格一:展示各同学的完成率。
  • 表格二:展示未完成作业的详细记录。

8. 导出数据到 Excel

  • 导出的 Excel 文件包括四个表格:
    • 详细记录:包含每个学生的积分记录。
    • 分类型记录:按类型分类的积分记录。
    • 个人排序:按个人积分降序排列的同学和积分。
    • 小组排序:按小组平均积分排序,并显示每组成员得分。

文件结构

Class-Scoring-Program/
│
├── class_scoring_program.py    # 主程序文件
├── 积分.txt                    # 积分记录文件
├── 班级名单.txt                # 班级成员名单文件
├── 分组.txt                    # 分组文件
└── README.md                   # 本文档

使用示例

  1. 创建 班级名单.txt 文件,列出班级所有同学的姓名。
  2. 创建 分组.txt 文件,列出各小组的成员。
  3. 启动程序并添加分数记录,使用 "添加分数" 按钮进行录入。
  4. 导入作业统计表,生成作业扣分记录并查看相关报表。
  5. 导出数据到 Excel 进行进一步分析。

贡献

欢迎提交问题报告、功能请求和贡献代码!您可以通过 Fork 项目并创建 Pull Request 来贡献您的代码。

License

本项目采用 MIT 许可证,详情请见 LICENSE 文件。


如果有任何问题或者更多的功能需求,欢迎随时联系!

About

协助班委统计分析班级内各同学量化计分

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages