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.
clumxc c833a6e438
fix:编写说明文件
4 months ago
..
README.md fix:编写说明文件 4 months ago

README.md

中小学数学试卷自动生成系统

项目简介

基于 Python 的跨平台命令行工具,支持:

  • 小学 / 初中 / 高中 三个难度
  • 自动生成不重复数学题(含根号、平方、三角函数)
  • 自动保存到本地 papers/{用户名}/ 目录
  • 带括号随机化、整除校验、题目去重

依赖

需求 版本
Python ≥ 3.864 位)
操作系统 Windows / macOS / Linux
第三方库 使用标准库random、datetime、os、typing、abc 仅当需要运行build.py生成.exe可执行文件时需要安装pyinstaller

快速开始

  1. 克隆或下载代码到本地
  2. 在项目根目录运行:
python MainSystem.py
  1. 按提示输入用户名、密码、题目数量即可生成试卷。

目录结构

.
├── 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