【Python+HTML】题库软件V3

[复制链接]
130 |11
发表于 2025-11-9 17:53:53 | 显示全部楼层 |阅读模式
单位发了一套题库要求背。题库是word格式,包括判断题、单选题和多选题。答案在题目中。
为了方便记忆,自制了一个Web版题库软件。

首先,手动将word拆分成2个word,分别只包含判断题、选择题。
要求:
1、判断题:一道题占用一行,答案可以是(正确)(√)(True)(错误)(×)(False)
2、选择题:每一个选项以大写字母开头,并占用一行。答案也必须是大写字母。自动识别单选题和多选题。
                    多选题答案可以连续,或者以顿号分隔,例(AC)或(A、C)

然后,从word中提取题目数据。Python实现,目前已编译成tkdata.exe
命令行如下。提取的题目数据会保存到data.txt中
[PowerShell]  
  1. 读取word中的判断题。word中只能包含判断题。每一行为一道题。
  2.   tkdata -pd src.docx
  3. 读取word中的选择题,自动识别单选和多选。
  4. word中只能包含选择题。要求每一个选项占一行。
  5.   tkdata -xz src.docx
复制代码


最后,将其拷贝到html相同目录下,双击html用浏览器打开,即可食用。


PS:html也支持填空题、简答题练习。按如下格式,往data.txt中插入填空题、简答题数据即可。

[JavaScript]  
  1. "填空题": [
  2.         {
  3.                 "question": "中国的首都是______,最大的城市是______,XX是______。",
  4.                 "answer": ["北京", "上海", "天津"]
  5.         },
  6.         {
  7.                 "question": "一年有______个月,其中大月有______个。",
  8.                 "answer": ["12", "7"]
  9.         }
  10. ],
  11. "简答题": [
  12.         {
  13.                 "question": "简述光合作用的过程。",
  14.                 "answer": "光合作用是绿色植物通过叶绿体,利用光能,把二氧化碳和水转化成储存着能量的有机物,并释放出氧气的过程。"
  15.         },
  16.         {
  17.                 "question": "说明摩擦力的作用。",
  18.                 "answer": "摩擦力可以阻碍物体的相对运动或相对运动趋势,它可以使物体减速、停止,也可以帮助物体实现运动,如人走路时依靠鞋底与地面的摩擦力前进。"
  19.         }
  20. ]
复制代码


https://wwqm.lanzouu.com/b00ya73pub
密码:52pj

判断题格式
判断题格式



选择题格式,可包括单选多选
选择题格式,可包括单选多选


题目数据提取,保存到data.txt中

题目数据提取



将data.txt与html放置在同一目录

将data.txt与html放置在同一目录


双击html打开食用

双击html打开食用



=========================================================================================
更新 题库V2:
1、tkdata.exe提取word数据,以json格式保存到data.txt中。
2、打开HTML后,选择data.txt加载题目数据。(方便以后切换不同的试卷或题库)
3、增加快捷键:1 2 分别对应√×,123456789对应ABCDEFGHI。空格键或回车键确认,ESC键清空。左右箭头上下翻题。
4、增加保存按钮,保存答题状态。关闭浏览器后,再次打开HTML,自动恢复答题状态。
5、增加重置按钮,清空所有答题状态。
6、离线可用。不需要联网。


V2操作演示

V2操作演示




2025-05-12更新
调整按钮位置。左侧题目数量较多时,往下滚动页面,左侧顶部三个按钮将不可见,不方便操作,故将左侧顶部三个按钮调整到右侧顶部。




2025-06-12更新
HTML增加答题和背题模式切换。
后续增加:
    填空题提取和显示题干中、题干下、选项中图片的提取与显示。Mathtype公式的提取和显示


=====================================================================
题库V3
在V2 的基础上,做了如下改进
1、增加填空题提取与显示。只能包含填空题,每道题占一行,答案以下划线标记。命令为:
[PowerShell]  
  1. tkdata -tk src.docx
复制代码

2、在保留V2所有命令的基础上,增加了-all提取命令。此命令不再需要拆分原始word文档,可以从一个文档中,提取所有题目数据,但前提是需要对word中各类型的题目数据进行标记,格式为 #XX题开始# #XX题结束#,必须成对出现,可以多次出现,但不能交叉出现(即不同类型的题目重叠)。命令为:
[PowerShell]  
  1. tkdata -all src.docx
复制代码

3、增加图片提取和显示功能。提取的图片保存到images目录下。注意:需要将images移动到和HTML同级目录
        判断题、填空题:每道题都独占一行,在题干中、题干下都可以包含图片。
        选择题:每道题题干支持多行,ABCD等选项不直接支持多行。题干中、题干下、ABCD等选项中,可以包含图片,但选项下不能包含图片。
        ABCD等选项不直接支持多行:可以将回车符换成软回车(Shift+回车),则可以实现多行显示。

4、增加Mathtype公式显示。如果Word中有Mathtype公式,则需要安装Java,并添加到环境变量中。

题库V3操作演示.rar(1.44 MB, 下载次数: 83)2025-6-22 20:26 上传
点击文件名下载附件
题库V3操作演示.rar



填空题格式


填空题显示


公式显示


伪多行显示


图片显示

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

发表于 2025-11-9 17:54:21 | 显示全部楼层
题目可以多行,选项不支持多行
回复

使用道具 举报

发表于 2025-11-9 17:54:37 | 显示全部楼层
"单选题": [
        {
                "question": "哪个季节白天最长()",
                "answer": "B"
        }
],
"多选题": [
        {
                "question": "以下哪些是水果()",
                "answer": ["A", "C"]
        }
],
"判断题": [
        {
                "question": "地球是太阳系最大行星()",
                "answer": "错误"
        }
],
回复

使用道具 举报

发表于 2025-11-9 17:55:10 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2025-11-9 17:55:45 | 显示全部楼层
数学公式能使用吗?
回复

使用道具 举报

发表于 2025-11-9 17:56:11 | 显示全部楼层
我没有考虑公式,不知道可不可以。您是想怎么使用公式?
单位要背的题库全是文字形式。
回复

使用道具 举报

发表于 2025-11-9 17:56:40 | 显示全部楼层
数学题呀?里面有公式
回复

使用道具 举报

发表于 2025-11-9 17:57:27 | 显示全部楼层
支持一道题题目和一个答案分别占用多行吗?
回复

使用道具 举报

发表于 2025-11-9 17:57:40 | 显示全部楼层
感谢分享,如果能是任何格式的,就更好了
回复

使用道具 举报

发表于 2025-11-9 17:58:28 | 显示全部楼层
运行tkdata.exe后,找不到data.txt
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表