Skip to content

About

A desktop application for children's arithmetic practice (addition, subtraction, multiplication, division), built with Python + Tkinter, supporting Windows and macOS.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

每天十五道题(Fifteen-Math-Questions-Everyday)

给小朋友的加减乘除每日练习桌面程序。每天生成 15 道口算题:加法 5 题、减法 5 题、乘法 5 题。

作者:Ruige| 开发语言:Python + Tkinter


简介

「每天十五道题」是一个面向儿童的数学练习桌面小程序,每日随机生成 15 道口算题,作答完成后自动判分、计时并给出反馈。项目从零开始手工编写,历经多次迭代(当前版本 1.4.0),包含金币商店、做题记录、个性化设置等完整功能,是作者初学编程时期独立完成的原创项目。

功能特性

  • 每日 15 题:加法 5 题、减法 5 题、乘法 5 题,随机生成
  • 难度可调:加减法数字范围(5~500)、乘法表乘数逐项勾选
  • 自动判分:统计正确/错误题数与用时,错题标红
  • 结果反馈:按成绩展示评语(优秀/良好/加油)与对应音效
  • 金币商店:答对题目获得金币,可解锁「小本子」「辅助画图」「打印题目」功能
  • 做题记录:记录每次练习的时间、正确数、用时与选题范围
  • 个性化设置:背景/错误/输入/左栏颜色、字体、界面风格、声音开关
  • 调试工具:禁用输入框、查看运行日志、开发者命令行

截图

主界面 结果反馈
主界面 结果反馈
难度选择
难度选择

快速开始

方式一:直接运行打包版

下载并双击 main.exe 即可运行,无需安装 Python 环境。

方式二:源码运行

需要 Python 3.x(自带 Tkinter,无需额外安装依赖):

# Windows(双击 main.pyw 亦可,无控制台窗口)
python main.pyw

# macOS / Linux
python main.py

说明:存档缺失时程序会自动创建默认存档,不会崩溃;如需手动重置数据,可运行 python initdata.py。

跨平台支持

  • Windows 与 macOS 均可运行源码版;Windows 另有打包版 main.exe
  • 界面字体自动适配:Windows 使用微软雅黑,macOS 使用苹方/冬青黑体
  • 结果音效:Windows 使用系统语音合成(VBS),macOS 使用系统 say 朗读
  • 界面主题在设置中可选;主题在当前平台不可用时会自动回退,不会报错

使用指南

  1. 选择难度:设置加减法的最大数字范围,并勾选乘法表使用的乘数(支持「全选」)
  2. 开始答题:在输入框中填写答案,全部完成后点击「确定」
  3. 查看结果:显示正确/错误题数、用时与评语,错题标红
  4. 刷新重做:点击「刷新」生成一套新题目重新挑战
  5. 赚取金币:每答对一题获得 1 金币,可在「商店」解锁更多功能(购买后重启生效)
  6. 查看记录:通过菜单「功能 → 打开做题记录」查看历史成绩

项目结构

Fifteen-Math-Questions-Everyday/
├── main.pyw             # Windows 入口(无控制台窗口)
├── main.py              # 跨平台入口(macOS / Linux)
├── efe.py               # 主程序:难度选择、题目生成、主窗口
├── functions.py         # 公共函数库:判分、计时、日志、存档、商店逻辑、跨平台工具
├── sets.py              # 设置窗口:颜色/字体/风格/声音
├── initdata.py          # 数据初始化/重置脚本
├── help.py              # 开发者命令行工具
├── mycanvas.pyw         # 辅助画图小工具
├── tests/               # 冒烟测试(python tests/test_*.py)
├── storage/             # 运行时数据(设置、日志、做题记录)
├── image/               # 反馈图片资源
├── sound_or_show/       # 评语音效脚本
└── versions.html        # 版本历史页面

技术栈

  • Python 3 + Tkinter / ttk(图形界面,Windows / macOS / Linux 跨平台)
  • pickle / JSON(本地存档与设置)
  • PIL(Pillow)(可选依赖,用于显示反馈图片)
  • PyInstaller(Windows 打包为 main.exe / help.exe / mycanvas.exe)

更新记录

版本 1.4.0(跨平台 + 视觉优化 · 第二轮)

  • 界面视觉重构:左侧信息栏、三个题目分区(加法/减法/乘法)、底部操作栏
  • 批改结果改为友好的「错题对照」面板(题号 + 算式 + 正确答案),不再显示原始列表
  • 配色回归系统默认色(中性灰),不再使用自定义彩色主题
  • 跨平台支持(Windows / macOS):
    • 所有资源路径改为绝对路径,从任意目录启动均可运行
    • 中文字体自动适配(Windows 微软雅黑 / macOS 苹方)
    • 结果音效跨平台(Windows 语音合成 / macOS say 朗读)
    • 界面主题不可用时自动回退,不再报错
  • 难度选择、商店、改名、结果等窗口统一美化

版本 1.3.0(代码质量优化 · 第一轮)

  • 消除大量 exec/eval 动态代码,题目生成改为循环
  • 修复计时线程 CPU 空转、跨线程操作界面不稳定
  • 修复商店「小本子」可反复购买、金币被无限扣除
  • 修复「良好」结果图片无法显示
  • 修复首次运行缺少存档直接崩溃
  • 修复日志/做题记录乱码、改名空值判断失效等问题

历史版本

展开查看

版本 1.2.5

  • 优化做题记录
  • 优化设置

版本 1.2.0

  • 设置改版、商店改版、增加时间显示、优化细节、调整菜单栏、更好显示程序错误、增加成长盒

版本 1.1.0

  • 修复大量潜在问题

版本 1.0.0

  • 优化画面

致谢

感谢每一位使用「每天十五道题」的小朋友和家长,你们的支持是项目持续维护的最大动力。

About

A desktop application for children's arithmetic practice (addition, subtraction, multiplication, division), built with Python + Tkinter, supporting Windows and macOS.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages