Python如何自动生成考试试卷?

Python (196) 2023-06-19 12:09:03

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

1、模板文件

打开模板文件,可以看到,有3处1、内容需要更换。分别是页眉、标题、循环体。其中循环体为嵌套结构,外循环根据tbl_contents序列进行迭代,内循环根据cols列表进行迭代。tr代表行,tc代表列。

2、实现代码

fromdocxtplimportDocxTemplate
importos
importrandom
importpymysql
cur_path=os.path.dirname(__file__)
tempfilename=os.path.join(cur_path,'template','加法模板.docx')
savefilename=os.path.join(cur_path,'加法.docx')
tpl=DocxTemplate(tempfilename)

list1=[]
defbuild_data():
forxinrange(25):
items={}
list2=[]
foryinrange(4):
num1=random.randint(0,99)
num2=random.randint(0,99)
list2.append(f'{num1}+{num2}=')
items.setdefault('cols',list2)
list1.append(items)

context={
'title':'100以内加法试卷(100道)',
'tbl_contents':list1,
'header':'加法试卷',
'footer':'2020-09-13',
}
tpl.render(context)
tpl.save(savefilename)

if__name__=="__main__":
build_data()

输出结果:

是不是非常有趣呢,能够实现生成试卷的方法有很多,大家可以掌握python与word这其中一种办法,希望可以帮助大家学习掌握。

THE END

发表回复