课程首页 › 第14章 › 第67课

第67课 向表格中写入运算式

第14章 办公也能自动化· 知识点:办公自动化 · 原书 14.2
插图

给程序末尾添加一个成功提示语。

插图

这样程序运行结束就会打印“表格创建成功!”,告诉我们表格已经创建好了。

虽然我们早就能够将九九乘法表倒背如流了,但是要将它按照特定的规则写入表格中,还需要对它细致研究一番,它是怎么样的一个规律呢?

插图

逐行分析,找规律:

第一行:

1×1=1

第二行:

1×2=2 2×2=4

第三行:

1×3=3 2×3=6 3×3=9

第八行:

1×8=8 2×8=16 3×8=24 4×8=32 5×8=40 6×8=48 7×8=56 8×8=64

第九行:

1×9=9 2×9=18 3×9=27 4×9=36 5×9=45 6×9=54 7×9=63 8×9=72 9×9=81

通过分析可以看出,第一行只有1列,第二行有2列,以此类推,第八行有8列,第九行有9列。

将算式拆分为第一个数字第二个数字计算结果。

第一个数字列数

第二个数字行号

计算结果列数行号

=×

分析完成,开始输入代码。

插图

进入编程状态,首先按照行的顺序来完成数据的写入。for row in range(1,10):使用for循环,重复9次,完成9行。

row表示行,range(1,10)循环9次,产生9行。

小贴士

python range()函数可创建一个整数列表,一般用在for循环中。

插图

函数语法,,

#range(start stop[step])

参数说明

#

·start:计数从start开始。默认是从0开始的。例如range(5)等价于range(0,5)。

·stop:计数到stop结束,但不包括stop。例如range(0,5)是[0,1,2,3,4],没有5。

·step:步长,默认为1。例如range(0,5)等价于range(0,5,1)。

for column in range(1,row+1):每一行有多少列呢?进行列的操作。在第几行,就有多少列,所有列需要在行的循环里,记得要缩进。

第一行只有1列,所以当row=1时,column也只能有一个,此时是range(1,2),那么就只有一个1。

第二行只有2列,所以当row=2时,column有两个,此时是range(1,3),那么有1,2。

其实第几行就有几列,但是range()函数末尾取不到,需要加1。所以末尾数字比行号多1,表示为row+1。

,确定等式在表格中填写的单元

cell=ws.cell(row=row column=column)

格位置。

在Excel中,确定行和列就可以找到对应的单元格。通过ws.cell()将对应的行和列传入函数就可以确定单元格。等式右边的row和column是循环中的变量。

使用cell_value=str(column)+"×"+str(row)+"="+str(column*row)编排好等式的格式。

插图

第一个数字=列数

第二个数字=行号

计算结果=列数×行号

输入格式是这样的:

列数行号列数行号

×=*

注意

通过字符串将它们连接起来,这里记得用str()将数字转成字符串。

cell.value=cell_value数据都整理完成后,将cell_value变量的值写入对应单元格中,将对应单元格中的值cell.value改成cell_value。

运行程序,查看结果。这样一个有数据的表格就创建好了。

插图