Skip to content

plazum/mock-examer

Repository files navigation

mock-examer/模拟考试机

一个简单的网页(mock-examer.html),用来进行题库训练。适用于当你有了一个Excel格式的题库之后,用它来进行练习。

  • 支持单选题、多选题、判断题。
  • 支持以下模式:
    • 自由练习模式:每次练习一道题。
    • 经典模式:生成一张有指定数量题目的试卷,方便做完查看正确率。
    • 无尽模式:相当于前两种模式的结合,题目可以无限刷新,但是每次都追加在现有的题目后面,正确率会持续更新。
  • 支持设置单选题是否必选。
  • 支持设置题目是随机抽取还是顺序选取。
  • 支持查看和清除答题记录(history.html)。

使用方法

  1. 准备好你的题库,然后把它处理成如下格式(第一行和第一列没有要求,可以是任何内容),保存成Excel电子表格文件。

    序号 问题 答案 选项
    1 1+1=? B 1 2 3 4
    2 x<5,x∈ℕ,x=? ABCDE 0 1 2 3 4 5
    3 1+1=2 A

    其中,有如下几点是需要注意的。

    • 处理脚本对这个Excel表格的格式要求:
      • 从第二行开始是题库;
      • 第二列是问题;
      • 第三列是答案;
      • 从第四列开始是选项。
    • 选项可以是1这样,也可以是A.1这样,如果是前者,那么处理脚本会将其转换为后者。
    • 判断题可以没有选项。
    • 没有选项的会被视为判断题,并添加选项A.正确B.错误
  2. 把Excel文件和question-bank-processor.py脚本放在同一个目录下,然后运行Python脚本,即可生成可被网页使用的题库文件。

    Python脚本的调用方法:

    • 不带参数调用,则假定输入的题库文件名是question-bank.xlsx,输出的文件名将会是question-bank.js
    python question-bank-processor.py
    • 传入一个参数,那么这个参数就是输入的题库文件名(例如example.xlsx),输出文件名将会是输入文件名的后缀名改成js(例如example.js)。
    python question-bank-processor.py example.xlsx
    • 传入两个参数,分别为输入文件名和输出文件名。
    python question-bank-processor.py input.xlsx output.js
  3. 把脚本文件生成的题库js文件和mock-examer.html放在一起,并其更名为question-bank.js,然后在浏览器中打开网页,即可使用。

    或者打开js文件,复制从第一个[开始到最后一个]为止的内容(即变量question_bank的值),粘贴到网页的导入题库处并点击导入题库,也可以。

    脚本文件生成的题库js文件应该形如下面这样:

    let question_bank = [
        [
            "1+1=?",
            "B",
            [
                "A.1",
                "B.2",
                "C.3",
                "D.4"
            ]
        ],
        [
            "x<5,x∈ℕ,x=?",
            "ABCDE",
            [
                "A.0",
                "B.1",
                "C.2",
                "D.3",
                "E.4",
                "F.5"
            ]
        ],
        [
            "1+1=2",
            "A",
            [
                "A.正确",
                "B.错误"
            ]
        ]
    ];