|
|
5 months ago | |
|---|---|---|
| .. | ||
| README.md | 5 months ago | |
README.md
#数学题目生成器 一个基于Python的多级别数学题目生成系统,支持小学、初中和高中三个教育级别的题目生成。 项目概述 这个项目是一个教育辅助工具,可以根据用户选择的教育级别自动生成相应难度的数学题目。系统支持用户认证、题目生成、文件保存和重复检测等功能。
系统要求 操作系统
- Windows 10/11(已在PowerShell 5.1.26100.6584上测试,测试首选powershell) 注:本人电脑版本 10.0.26100.6584,同时我也在cmd上进行了测试,结果一切正常。 Python环境
- Python 3.11
- 需要标准库:random, re, math, hashlib, os, datetime, io, sys PowerShell要求
- PowerShell 5.1 或更高版本
- 确保PowerShell支持UTF-8编码输出
功能特性
- 多级别支持
- 小学级别:基本四则运算(+, -, x, ÷),支持括号
- 初中级别:在四则运算基础上增加平方和开方运算
- 高中级别:增加三角函数(sin, cos, tan)运算
- 用户认证系统
- 预定义三个教育级别的用户账户
- 用户名密码验证
- 自动识别用户所属教育级别
- 智能题目生成
- 自动生成不重复的数学题目
- 支持题目数量控制(10-30道)
- 实时计算题目答案
- 文件管理
- 自动创建用户专属文件夹
- 按时间戳命名保存文件
- 支持UTF-8编码,确保中文正常显示
- 重复检测机制
- 基于MD5哈希值的题目去重
- 检查历史生成记录避免重复
使用说明 一 登录 当您在PowerShell中运行python main.py命令后,程序将开始执行,并显示以下提示: 请输入用户名和密码(用空格隔开): 输入格式要求:用户名和密码之间必须用一个空格分隔
错误1:缺少密码
请输入用户名和密码(用空格隔开):张三1 系统响应:请输入正确的用户名、密码
错误2:用户名或密码错误
请输入用户名和密码(用空格隔开):张三1 124 系统响应:请输入正确的用户名、密码
二 出题
- 当输入正确的用户名和密码后,系统会显示: 当前选择为 [教育级别] 出题 准备生成 [教育级别] 数学题目,请输入生成题目数量(输入-1将退出当前用户,重新登录): 例如: 当前选择为 小学 出题 准备生成 小学 数学题目,请输入生成题目数量(输入-1将退出当前用户,重新登录):
- 题目数量输入要求:
- 必须输入整数数字
- 数字范围:10-30(包含10和30)
- 输入-1可以退出当前用户(然后可以重新登录)
- 不能输入小数、字母或其他字符 注意:这里有我的一个小设计,每次不管是出题成功还是失败,都会给用户一个是否要切换类型(教育等级)的选择,这样可在用户错误选择教育等级后可以快速地进行重新选择(故意输入1这类无效数字即可),如果不想换直接回车就行,也不误事。
错误1:输入超出范围
输入:35 系统响应:题目数量应在10-30之间 然后提示:是否需要切换类型?如需切换请输入'切换为 XX'(XX为小学、初中或高中),否则直接回车继续:
错误2:输入非数字
输入:abc 系统响应:请输入有效的数字 然后提示:是否需要切换类型?如需切换请输入'切换为 XX'(XX为小学、初中或高中),否则直接回车继续: 3. 当题目成功生成并保存后,系统显示: 题目已保存到 [用户名]/[时间戳].txt 是否需要切换类型?如需切换请输入'切换为 XX'(XX为小学、初中或高中),否则直接回车继续: 这里保存采用相对路径,故提示信息中只包含用户名而没有用户名之前的路径,而且路径为脚本自身所在的文件夹里。 而且这里用户想切换就输入命令行,不想就直接回车就行了 4. 切换功能: 在出现切换提示后,便可使用切换功能;切换提示会出现在出题后(不管是否成功出题都会出现) 输入选项:
- 直接回车:继续使用当前级别生成题目
- 输入切换命令:切换为 [级别]
错误1:级别名称错误
输入:切换为 大学 系统响应:请输入小学、初中和高中三个选项中的一个 输入:切换为 111 系统响应:请输入小学、初中和高中三个选项中的一个 然后重新提示:是否需要切换类型?...
错误2:命令格式错误
输入:切换初中 系统响应:请输入正确的切换格式,正确格式为 '切换为 XX' 输入:改为初中 系统响应:请输入正确的切换格式,正确格式为 '切换为 XX'
部分功能详细说明
- 退出当前用户功能
- 触发条件:在题目数量输入环节输入-1
- 作用:退出当前登录的用户,返回到初始登录界面
- 使用场景:当需要切换用户或者结束当前会话时使用
- 级别切换功能
- 触发条件:在切换提示环节输入正确的切换命令
- 注意:切换后生成的文件仍然保存在原用户文件夹下
- 文件保存规则
- 每个用户有独立的文件夹
- 文件名按生成时间自动命名(精确到秒)
- 同一用户多次生成题目会创建多个文件
- 文件内容包含题目序号和题目内容
故障处理指南 输入无响应情况 如果输入后程序没有响应,可以尝试:
- 按Ctrl+C强制中断程序
- 检查PowerShell窗口是否处于活动状态
- 重新运行程序 文件保存失败 如果看到文件保存路径但实际没有文件:
- 检查当前目录的写入权限
- 确认磁盘空间充足
- 查看是否有同名的文件夹冲突 中文显示异常 如果中文字符显示为乱码:
- 确保PowerShell使用UTF-8编码
- 检查系统区域设置是否支持中文
- 尝试在代码开头手动设置编码