防作弊随机试卷生成器
文档自动化利用标准库 random 实现「试卷编号 + 答案文档」各自独立随机打乱,批量生成 20 套互不相同的试卷与对应标准答案,杜绝邻座抄袭。
# 1. 不重复随机整数 — 控制抽题编号
def Random_num(num_max, num_qty):
num_list = []
while len(num_list) < num_qty:
num = random.randint(2, num_max)
if num not in num_list:
num_list.append(num)
return num_list
# 2. 按编号从 Excel 题库抽取 4 类题型
def Question(que_type, numbers):
questions, wb = [], load_workbook("题库.xlsx")
ws = wb[que_type]
for i in numbers:
q = ws["B"+str(i)].value # 题干
right = ws["G"+str(i)].value # 正确答案
questions.append([q, "A:"+a, ..., right])
return questions
# 3. 主循环 — 一次生成 20 套试卷 + 20 份答案
for number in range(1, 21):
n1 = Random_num(566, 40) # 单选
n2 = Random_num(196, 20) # 多选
n3 = Random_num(418, 10) # 判断
n4 = Random_num(190, 10) # 填空
To_word(number, questions_data)
Answer(number, questions_data)