Ernestpneug 发表于 2025-11-9 17:53:53

【Python+HTML】题库软件V3

单位发了一套题库要求背。题库是word格式,包括判断题、单选题和多选题。答案在题目中。
为了方便记忆,自制了一个Web版题库软件。

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

然后,从word中提取题目数据。Python实现,目前已编译成tkdata.exe
命令行如下。提取的题目数据会保存到data.txt中

读取word中的判断题。word中只能包含判断题。每一行为一道题。
tkdata -pd src.docx

读取word中的选择题,自动识别单选和多选。
word中只能包含选择题。要求每一个选项占一行。
tkdata -xz src.docx


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


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


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


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操作演示
https://attach.52pojie.cn/forum/202505/09/230435mr1ibziflo14ynsi.gif



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



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


=====================================================================
题库V3
在V2 的基础上,做了如下改进
1、增加填空题提取与显示。只能包含填空题,每道题占一行,答案以下划线标记。命令为:

tkdata -tk src.docx

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

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



填空题格式


填空题显示


公式显示


伪多行显示


图片显示

huoxianghui913 发表于 2025-11-9 17:54:21

题目可以多行,选项不支持多行

寒哥Gh61ac8 发表于 2025-11-9 17:54:37

"单选题": [
      {
                "question": "哪个季节白天最长()",
                "answer": "B"
      }
],
"多选题": [
      {
                "question": "以下哪些是水果()",
                "answer": ["A", "C"]
      }
],
"判断题": [
      {
                "question": "地球是太阳系最大行星()",
                "answer": "错误"
      }
],

寒哥Gh61ac8 发表于 2025-11-9 17:55:10

谢谢分享

寒哥Gh61ac8 发表于 2025-11-9 17:55:45

数学公式能使用吗?

寒哥Gh61ac8 发表于 2025-11-9 17:56:11

我没有考虑公式,不知道可不可以。您是想怎么使用公式?
单位要背的题库全是文字形式。

风之影赫 发表于 2025-11-9 17:56:40

数学题呀?里面有公式

huoxianghui913 发表于 2025-11-9 17:57:27

支持一道题题目和一个答案分别占用多行吗?

风之影赫 发表于 2025-11-9 17:57:40

感谢分享,如果能是任何格式的,就更好了

寒哥Gh61ac8 发表于 2025-11-9 17:58:28

运行tkdata.exe后,找不到data.txt
页: [1] 2
查看完整版本: 【Python+HTML】题库软件V3