You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
4 months ago | |
|---|---|---|
| .. | ||
| README.md | 4 months ago | |
README.md
中小学数学试卷自动生成系统
项目简介
基于 Python 的跨平台命令行工具,支持:
- 小学 / 初中 / 高中 三个难度
- 自动生成不重复数学题(含根号、平方、三角函数)
- 自动保存到本地
papers/{用户名}/目录 - 带括号随机化、整除校验、题目去重
依赖
| 需求 | 版本 |
|---|---|
| Python | ≥ 3.8(64 位) |
| 操作系统 | Windows / macOS / Linux |
| 第三方库 | 无(使用标准库:random、datetime、os、typing、abc) 仅当需要运行build.py生成.exe可执行文件时需要安装pyinstaller |
快速开始
- 克隆或下载代码到本地
- 在项目根目录运行:
python MainSystem.py
- 按提示输入用户名、密码、题目数量即可生成试卷。
目录结构
.
├── src/ # 源代码目录
│ ├── MainSystem.py # 入口 & 主控
│ ├── user.py # 用户实体
│ ├── paper_manager.py # 抽象基类 & 公共功能
│ └── question_generator.py
├── doc/
│ └── README.md # 项目说明(本文件)
├── papers/ # 自动生成试卷(git 忽略)
│
├── build.py # 一键打包脚本
└── .gitignore # Git 排除规则
预置账号
| 用户名 | 密码 | 难度 |
|---|---|---|
| 张三1 | 123 | 小学 |
| 张三2 | 123 | 小学 |
| 张三3 | 123 | 小学 |
| 李四1 | 123 | 初中 |
| 李四2 | 123 | 初中 |
| 李四3 | 123 | 初中 |
| 王五1 | 123 | 高中 |
| 王五2 | 123 | 高中 |
| 王五3 | 123 | 高中 |
核心类图
classDiagram
BasePaperManager <|-- PrimaryPaperGenerator
BasePaperManager <|-- JuniorPaperGenerator
BasePaperManager <|-- SeniorPaperGenerator
MainSystem *-- BasePaperManager
MainSystem *-- User
特性列表
- 题目去重(同用户历史试卷比对)
- 运算符权重随机
- 自动加括号(概率可控)
- 整除校验(小学)
- 平方 / 平方根 / 三角函数(初高中)
- 时间戳文件名(Windows 安全)
自定义规则
继承 BasePaperManager 并实现:
def get_operators(self) -> List[str]: ...
def generate_single_question(self) -> str: ...
即可新增难度。
Git 忽略
.gitignore 已包含:
papers/
__pycache__/
*.pyc