math-mastery:纯前端参数化出题的中小学数学练习工具
math-mastery 是一个纯前端的中小学数学练习工具,无第三方依赖,单 HTML 文件即可离线运行。题目的核心是参数化出题:每个知识点都有对应的生成器,每次做题题干数据都会变化,答案由数学构造直接算出,所以不存在题库枚举和答案错配的问题。作为练习工具,它把随机出题和判题都放在了浏览器本地完成。
GitHub 地址:https://github.com/kenowong/math-mastery

功能特性
- 参数化出题:每个知识点都有专门生成器,题干数据每次不同,答案由数学构造算出,不会出错。
- 覆盖面广:小学 10 种方法(鸡兔同笼、植树问题、盈亏等)、初中 15 种、高中 24 种,另有 32 个拓展专题(泰勒级数、欧拉公式、琴生不等式、傅里叶级数等)。
- 带图和解析:题目配 SVG 示意图,部分难点带交互动画(单位圆旋转、函数图像变换、3σ 区间阴影等)。
- 学习跟踪:按依赖关系编排学习路径,错题自动进入薄弱点清单,练习结束返回时能定位到上次位置。
- 完全离线:单 HTML 文件,所有资源本地化,没网也能跑。
怎么用
直接打开 index.html 即可,或本地起一个静态服务:
python -m http.server 8142 # 访问 http://127.0.0.1:8142/
项目结构很直白:index.html 是入口,styles.css 负责样式,js/ 按功能拆分为数据、出题引擎、动画、配图、主逻辑。代码中 JavaScript 约占 89.9%,另有少量 Python 脚本做辅助处理。
这类工具的扩展边界也由生成器决定:新增一个知识点需要单独实现对应的生成逻辑,而不是往题库里追加题目。