develop #7

Merged
hnu202326010322 merged 4 commits from develop into main 5 months ago

@ -1,2 +0,0 @@
# math_qustion

@ -1,2 +1,99 @@
# math_qustion
# 中小学数学卷子自动生成程序
## 一、项目概述
### 1.1 项目简介
本项目是一个中小学数学卷子自动生成程序,可以根据不同学段(小学、初中、高中)自动生成符合知识难度的数学题目,并支持题目去重、保存为文件、用户登录验证等功能。程序的核心目标是帮助教师快速生成练习题卷,减轻出题负担,提高教学效率。
### 1.2 功能特点
- 用户登录与权限管理:不同学段用户账号独立,防止越权生成题目。
- 分学段题目生成:根据小学、初中、高中难度生成对应题目。
- 随机出题:每次生成的题目随机,保证练习多样性。
- 题目去重:检查历史题目,避免重复出题。
- 文件保存:自动按用户、学段、时间生成规范文件名保存题目。
---
## 二、系统结构
### 2.1 目录结构
```
中小学数学卷子自动生成程序/
├── src
│ ├── main.py # 程序入口,控制整体流程
│ ├── user_manager.py # 用户管理与身份验证
│ ├── file_handler.py # 文件读写与查重
│ └── question_generator.py # 分学段数学题目生成
├── doc
│ ├── README.md
│ └── 个人项目使用大模型后人工修改代码一览表/
└── README.md # 项目总说明
```
### 2.2 核心模块
| 模块文件 | 功能描述 |
|----------------------|----------|
| main.py | 程序入口,实现登录、出题数量输入、学段切换、题目生成与保存流程 |
| user_manager.py | 管理用户账号、密码及对应学段,提供登录验证功能 |
| file_handler.py | 管理用户文件夹、题目文件保存、历史题目读取与查重 |
| question_generator.py| 根据学段生成数学题目,支持基础运算、函数、三角函数等题型 |
---
## 三、运行说明
### 3.1 运行环境
- 操作系统Windows 7/8/10/11 系统
- 无需安装 Python 环境,直接运行可执行文件即可
### 3.2 运行步骤
1. #### 启动程序 ####
- 双击运行 main.exe 文件,程序将在 Windows 终端中启动
2. #### 登录流程 ####
- 程序启动后,会提示输入用户名和密码(格式:用户名 密码,中间用空格分隔)
- 输入正确的用户名和密码后,程序会显示当前账户对应的题目难度
1. #### 生成题目 ####
- 登录成功后程序会提示输入生成题目数量10-30 道之间)
- 输入符合要求的数字10-30程序将自动生成对应数量的题目
- 生成完成后题目会保存到以用户名命名的文件夹如张三1_questions/)下的文本文件中
- 程序会预览前 3 道题目,并显示保存路径
4. #### 切换难度 ####
- 在输入题目数量的提示下,可输入以下指令切换题目难度:
(1)输入 "切换为小学":生成小学难度题目(包含 +、-、*、/ 和括号)
(2)输入 "切换为初中":生成初中难度题目(包含平方、开根号及小学难度所有运算)
(3)输入 "切换为高中":生成高中难度题目(包含 sin、cos、tan 三角函数及初中难度所有运算)
5. #### 退出登录 ####
- 在输入题目数量的提示下,输入 "-1" 可退出当前用户登录,返回初始登录界面
### 3.3 预设用户
| 用户名 | 密码 | 学段 |
|--------|------|------|
| 张三1 | 123 | 小学 |
| 张三2 | 123 | 小学 |
| 张三3 | 123 | 小学 |
| 李四1 | 123 | 初中 |
| 李四2 | 123 | 初中 |
| 李四3 | 123 | 初中 |
| 王五1 | 123 | 高中 |
| 王五2 | 123 | 高中 |
| 王五3 | 123 | 高中 |
---
## 四、文件保存说明
- 生成的题目文件会保存在程序运行目录下的[用户名]_questions文件夹中
- 文件名格式为[当前时间]_[难度类型].txt例如2023-10-01-15-30-45_小学.txt
- 每个题目文件中包含生成的所有题目,每题带有题号,题目之间用空行分隔
## 五、开发协作规范
### 5.1 分支管理
- **main**:稳定版本,仅合并测试通过的代码
- **develop**:开发主线,集成最新功能
## 六、 注意事项
1. 用户名可以包含空格,但密码不能包含空格
2. 题目数量必须在 10-30 道之间,否则会提示输入无效
3. 程序会自动检查重复题目,确保生成的题目与历史题目不重复
4. 生成的除法题目保证除数不为 0 且能整除,避免出现小数结果
5. 若程序运行过程中出现错误,会在终端中显示错误信息
Loading…
Cancel
Save