python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python生成计算题

利用Python实现自动生成小学生计算题

作者:快学Python

过年期间发现小外甥已经上小学了,我姐说老师今天给他们布置了寒假作业:每天坚持做乘法和加减法混合运算。这我必须帮帮忙,用Python写了一段自动生成小学生计算题的代码,希望外甥不要太感谢我

过年期间发现小外甥已经上小学了,我姐说老师今天给他们布置了寒假作业:每天坚持做乘法和加减法混合运算。

这我必须帮帮忙,用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道或者几万道数学题!

到此这篇关于利用Python实现自动生成小学生计算题的文章就介绍到这了,更多相关Python生成计算题内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文