亲宝软件园·资讯

展开

利用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道或者几万道数学题!

加载全部内容

相关教程
猜你喜欢
用户评论