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

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

这样程序运行结束就会打印“表格创建成功!”,告诉我们表格已经创建好了。
虽然我们早就能够将九九乘法表倒背如流了,但是要将它按照特定的规则写入表格中,还需要对它细致研究一番,它是怎么样的一个规律呢?

逐行分析,找规律:
第一行:
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。
运行程序,查看结果。这样一个有数据的表格就创建好了。
