目的:使用for循环,完成九九乘法表
实现过程:
1.初步尝试,直接使用两个for循环
for i in range(1,10):
for j in range(1,10):
print (i,"*",j,"=",i*j)
结果很明显,很多重复的,没有达到想要的效果
1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
1 * 4 = 4
1 * 5 = 5
1 * 6 = 6
1 * 7 = 7
1 * 8 = 8
1 * 9 = 9
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18
........
9 * 9 = 81
2.修改j的范围,去掉重复的式子
for i in range(1,10):
for j in range(1,i+1):
print (i,"*",j,"=",i*j)
结果:发现式子都是反着的,这就要提到for循环嵌套循环时的运行规则。他是先执行外面的循环一下,然后将里面的循环全部执行,然后再去执行外面循环的第二个,再执行里面循环的全部。依次往下,直至全部执行结束。
1 * 1 = 1
2 * 1 = 2
2 * 2 = 4
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
4 * 1 = 4
4 * 2 = 8
4 * 3 = 12
4 * 4 = 16
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
6 * 1 = 6
6 * 2 = 12
6 * 3 = 18
6 * 4 = 24
6 * 5 = 30
6 * 6 = 36
7 * 1 = 7
7 * 2 = 14
7 * 3 = 21
7 * 4 = 28
7 * 5 = 35
7 * 6 = 42
7 * 7 = 49
8 * 1 = 8
8 * 2 = 16
8 * 3 = 24
8 * 4 = 32
8 * 5 = 40
8 * 6 = 48
8 * 7 = 56
8 * 8 = 64
9 * 1 = 9
9 * 2 = 18
9 * 3 = 27
9 * 4 = 36
9 * 5 = 45
9 * 6 = 54
9 * 7 = 63
9 * 8 = 72
9 * 9 = 81
3.对于上面的反着的式子修改为正常的就比较简单了,只需在print的时候讲print( i, "*" ,j ),改为print( j, "*" ,i )。
for i in range(1,10):
for j in range(1,i+1):
print (j,"*",i,"=",i*j)
1 * 1 = 1
1 * 2 = 2
2 * 2 = 4
1 * 3 = 3
2 * 3 = 6
3 * 3 = 9
1 * 4 = 4
2 * 4 = 8
3 * 4 = 12
4 * 4 = 16
.......
8 * 9 = 72
9 * 9 = 81
4.最后一步就是换行
我们在使用print的时候,它默认在最后加上换行符 ,就是\n,我们只要将end里面的\n去掉即可。
def print(self, *args, sep=' ', end='\n', file=None):
for i in range(1,10):
for j in range(1,i+1):
print (j,"*",i,"=",i*j,end="")
5.但是只是这样的话,结果就全部变成了一行,所以我们还需要在每次内循环结束时让它换行。只需在内循环结束时加上一个print就可以了。
for i in range(1,10):
for j in range(1,i+1):
print (j,"*",i,"=",i*j,end="")
print()
结果:
1 * 1 = 1
1 * 2 = 22 * 2 = 4
1 * 3 = 32 * 3 = 63 * 3 = 9
1 * 4 = 42 * 4 = 83 * 4 = 124 * 4 = 16
1 * 5 = 52 * 5 = 103 * 5 = 154 * 5 = 205 * 5 = 25
1 * 6 = 62 * 6 = 123 * 6 = 184 * 6 = 245 * 6 = 306 * 6 = 36
1 * 7 = 72 * 7 = 143 * 7 = 214 * 7 = 285 * 7 = 356 * 7 = 427 * 7 = 49
1 * 8 = 82 * 8 = 163 * 8 = 244 * 8 = 325 * 8 = 406 * 8 = 487 * 8 = 568 * 8 = 64
1 * 9 = 92 * 9 = 183 * 9 = 274 * 9 = 365 * 9 = 456 * 9 = 547 * 9 = 638 * 9 = 729 * 9 = 81
6.可以看到,虽然大体已经成型,但是排列还是不太整齐。所以我们在end=""里面加上制表符\t,变成end = "\t"(具体用法略)
for i in range(1,10):
for j in range(1,i+1):
print (j,"*",i,"=",i*j,end="\t")
print()
完成
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16
1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25
1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36
1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49
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