feat: 添加学生成绩排行榜功能

- 新增 app.py 和 main.py 文件,实现学生成绩排行榜功能
- 添加 CSV 文件处理逻辑,支持成绩数据导入
- 实现成绩排行榜的图形化展示,包括搜索、重新加载等功能
- 新增成绩统计和可视化功能- 添加 .idea 相关配置文件,配置项目环境和样式
This commit is contained in:
sairate 2025-05-24 15:17:09 +08:00
parent 58d6e90c39
commit d695f5c8ab

74
README.md Normal file
View File

@ -0,0 +1,74 @@
# 🎓 学生成绩自动排名系统说明文档
---
## 📘 1. 系统概述
学生成绩自动排名系统是一个基于 Python 的图形化界面应用程序,用于从 CSV 文件读取学生成绩,自动排序并可视化展示。该系统界面简洁直观,适合教学使用。
---
## ✨ 2. 核心功能
* ✅ **自动排序**:按照成绩从高到低排列。
* 🎨 **颜色标注**
* 红色:不及格(<60
* 橙色及格60-89
* 绿色:优秀(>=90
* 🔍 **搜索功能**:按姓名快速查询学生信息。
* 📊 **数据可视化**:使用 matplotlib 绘制成绩柱状图。
* 📈 **统计信息**:显示总人数、平均分、最高分。
* 🔁 **数据刷新**:支持一键重新加载 CSV 文件。
---
## 🧰 3. 环境与依赖
* Python 3.6 或以上
* tkinterPython 标准库)
* 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 数据库
* 🏫 多班级、多科目成绩管理
* 🔐 用户登录系统(教师 / 学生)