利用Python实现自动生成小学生计算题
快学Python 人气:0过年期间发现小外甥已经上小学了,我姐说老师今天给他们布置了寒假作业:每天坚持做乘法和加减法混合运算。
这我必须帮帮忙,用Python写了一段自动生成小学生计算题的代码,并支持导出到Word中直接打印出来就能给小外甥写了。
生成计算题
随机生成生成计算题,那我们便需要导入random
模块,用来生成随机数字,再搭配“+-*”算术符号,即可得到最终含有120道题的列表:
import random for i in range(120):
(代码较多不再文中展示,感兴趣可以文末下载)
生成结果如下所示:
这样我们就随机生成了120道乘法和加减法混合运算计算题。
写入Word中
将列表元素写入Word文档中,我们可以参考《快学Python:自动化办公轻松实战》一书中的【5.3 Word 文档内容写入】章节内容。
from docx import Document doc = Document() # 创建文档 table = doc.add_table(rows=40,cols=3) table.style = "Table Grid" doc.save("添加表格.docx")
打开生成的"添加表格.docx"文档:
可以看到我们新建了一个Word文档,并调用文档对象的add_table()
方法在其中写入了40行x3列的表格。
而我们接下来要做的就是将前文随机生成的120道数学题,填入Word的120个(40行x3列)空格中。
在交互式环境中输入如下命令:
n = 0 for texts in data_all: rows = int(n//3) columns = n%3 print(rows,columns) table.cell(rows,columns).text = texts n += 1
打开生成的"数学题.docx"文档:
如上图所示,我们成功随机生成了120道小学生计算题,并将其写入到Word文档中。
而我们再加一个for循环的话,就可以生成更多的数学题,创建更多的Word文档。那我们就可以给小外甥出3000道或者几万道数学题!
加载全部内容