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.
|
|
3 months ago | |
|---|---|---|
| PROJECT_SUMMARY.md | 3 months ago | |
| README.md | 3 months ago | |
| build.sh | 3 months ago | |
| data_manager.py | 3 months ago | |
| email_config.py | 3 months ago | |
| email_config_gui.py | 3 months ago | |
| gui.py | 3 months ago | |
| main.py | 3 months ago | |
| requirements.txt | 3 months ago | |
| start.bat | 3 months ago | |
| start.sh | 3 months ago | |
README.md
数学学习软件
一个面向小学、初中和高中学生的数学练习桌面应用程序。
功能特点
- 用户注册系统 - 用户名+邮箱注册,真实邮箱验证码验证
- 邮箱验证 - 支持QQ、163、Gmail等主流邮箱发送验证码
- 密码管理 - 安全的密码设置和修改功能
- 多级别学习 - 支持小学、初中、高中三个难度级别
- 智能题目生成 - 自动生成不重复的数学选择题
- 实时答题 - 逐题显示,即时反馈
- 分数统计 - 自动计算分数和学习评价
- 用户友好界面 - 简洁直观的图形界面
- 个性化体验 - 显示用户名,个性化欢迎信息
系统要求
- Python 3.6 或更高版本
- Tkinter(通常随Python一起安装)
安装和运行
方法一:直接运行Python脚本
- 确保已安装Python 3.6+
- 进入项目目录
- 安装依赖(如果需要):
pip install -r requirements.txt - 运行程序:
python3 main.py
方法二:使用启动脚本
- macOS/Linux用户:双击运行
start.sh或在终端中执行./start.sh - Windows用户:双击运行
start.bat
方法三:创建可执行文件
- 运行打包脚本:
./build.sh - 在
dist/目录中找到可执行文件 - 直接运行可执行文件,无需安装Python
使用说明
快速开始
-
邮箱配置(首次使用):
- 运行程序后,点击"邮箱配置"
- 输入您的邮箱和授权码(不是登录密码)
- 点击"获取授权码帮助"查看详细说明
- 测试邮箱配置确保正常工作
-
运行程序:
# 方式1:直接运行Python脚本 cd app python3 main.py # 方式2:使用启动脚本 ./start.sh # Linux/macOS start.bat # Windows -
用户注册:
- 点击"用户注册"
- 输入用户名和邮箱地址
- 点击"发送注册码",验证码将发送到您的邮箱
- 查收邮件并输入6位数字验证码
- 设置密码(6-10位,含大小写字母和数字)
-
开始学习:
- 登录账户
- 系统显示个性化欢迎信息
- 选择学习阶段(小学/初中/高中)
- 设置题目数量
- 开始答题
-
查看结果:
- 完成答题后查看分数
- 选择继续做题或退出
功能测试
运行测试脚本验证所有功能:
python3 test_functions.py
测试内容包括:
- 用户注册和验证
- 密码设置和登录
- 题目生成(小学/初中/高中)
- 分数计算和评价
题目类型
小学级别
- 数值范围:1-100
- 运算类型:加法、减法、乘法
- 题目示例:25 + 37 = ?
初中级别
- 数值范围:1-1000
- 运算类型:加法、减法、乘法、除法
- 题目示例:144 ÷ 12 = ?
高中级别
- 数值范围:1-10000
- 运算类型:加法、减法、乘法、除法、幂运算
- 题目示例:3^4 = ?
数据存储
- 用户数据存储在本地JSON文件中(users.json)
- 不依赖外部数据库
- 数据文件会在首次运行时自动创建
注意事项
- 请妥善保管注册码和密码
- 程序会自动保存用户注册信息
- 每次生成的题目都是随机的,确保练习的多样性
- 分数计算基于答对题目的百分比
故障排除
如果遇到问题:
- 确保Python版本符合要求
- 检查是否有权限在程序目录创建文件
- 如果界面显示异常,请检查系统是否支持Tkinter
开发信息
- 开发语言:Python
- GUI框架:Tkinter
- 数据存储:JSON文件
- 架构:前后端分离的模块化设计