From d695f5c8ab463f85366ecfa412a07d84d544e4c3 Mon Sep 17 00:00:00 2001 From: sairate Date: Sat, 24 May 2025 15:17:09 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E5=AD=A6=E7=94=9F?= =?UTF-8?q?=E6=88=90=E7=BB=A9=E6=8E=92=E8=A1=8C=E6=A6=9C=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 app.py 和 main.py 文件,实现学生成绩排行榜功能 - 添加 CSV 文件处理逻辑,支持成绩数据导入 - 实现成绩排行榜的图形化展示,包括搜索、重新加载等功能 - 新增成绩统计和可视化功能- 添加 .idea 相关配置文件,配置项目环境和样式 --- README.md | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..4e40f9e --- /dev/null +++ b/README.md @@ -0,0 +1,74 @@ +# 🎓 学生成绩自动排名系统说明文档 + +--- + +## 📘 1. 系统概述 + +学生成绩自动排名系统是一个基于 Python 的图形化界面应用程序,用于从 CSV 文件读取学生成绩,自动排序并可视化展示。该系统界面简洁直观,适合教学使用。 + +--- + +## ✨ 2. 核心功能 + +* ✅ **自动排序**:按照成绩从高到低排列。 +* 🎨 **颜色标注**: + + * 红色:不及格(<60) + * 橙色:及格(60-89) + * 绿色:优秀(>=90) +* 🔍 **搜索功能**:按姓名快速查询学生信息。 +* 📊 **数据可视化**:使用 matplotlib 绘制成绩柱状图。 +* 📈 **统计信息**:显示总人数、平均分、最高分。 +* 🔁 **数据刷新**:支持一键重新加载 CSV 文件。 + +--- + +## 🧰 3. 环境与依赖 + +* Python 3.6 或以上 +* tkinter(Python 标准库) +* matplotlib + +### 使用中国科技大学镜像源安装 matplotlib: + +```bash +pip install matplotlib -i https://pypi.mirrors.ustc.edu.cn/simple/ +``` + +**CSV 格式示例:** + +```csv +姓名,成绩 +张三,85 +李四,90 +王五,100 +``` + +--- + +## 🗂️ 4. 文件结构 + +* `score.csv`:学生成绩数据文件 +* `main.py`:主程序,包含界面与逻辑代码 + +--- + +## ⚙️ 5. 工作流程 + +1. 使用 `csv.DictReader` 读取数据; +2. 根据“成绩”字段降序排序; +3. 使用 `ttk.Treeview` 显示结果表格; +4. 根据成绩范围设置不同颜色标签; +5. 使用 `matplotlib` 嵌入柱状图展示分数分布; +6. 支持“刷新”按钮动态更新界面数据。 + +--- + +## 🚀 6. 可扩展方向 + +* 📤 支持导出成绩报告为 PDF 或 Excel +* 🗃️ 集成 SQLite/MySQL 数据库 +* 🏫 多班级、多科目成绩管理 +* 🔐 用户登录系统(教师 / 学生) + +