python 九九乘法表 for循环

新手上路,请多包涵

for i in range(1,10):
for x in range(1,i+1):
print( '%d X %d = %2d' % (i ,x ,i*x) ,end = ' ' )
print(' ')
第一行是1 2 3 4 5 6 7 8 9
第二行打印的是什么序列?始终理解不了,
(1,2)(1,3)(1,4)(1,5)(1,6)(1,7)(1,8)(1,9)(1,10)
是这样的吗?

阅读 3.2k
2 个回答

for 循环内再加 for 循环的时候,运行过程简而言之就是外层for循环每运行一次,内层循环会全部循环一次,三层for循环和四层for循环都是 这种运行过程,不过层数变多了而已,从最内层开始看就行

for i in range(1,10):   # 每循环一次,第二个for循环都会被完整的循环一遍  例如当这里是8时
    for j in range(1,i+1):  # 上面为8 这里范围为 1,2,3,4,5,6,7,8(值取不到9)
        print('%s*%s=%s'%(i,j,i*j),end = ' ')  # 内层for循环打印
    print('')  # 内层for循环结束,执行换行,下面没有代码了,回到外层的for循环,获取下一个值9

这是个两层循环,你可以理解成外部循环每进行一次,内部循环将进行一次完整的循环过程。
不理解可以把代码丢到环境里跑一下:

1 X 1 = 1
2 X 1 = 2 2 X 2 = 4
3 X 1 = 3 3 X 2 = 6 3 X 3 = 9
4 X 1 = 4 4 X 2 = 8 4 X 3 = 12 4 X 4 = 16
5 X 1 = 5 5 X 2 = 10 5 X 3 = 15 5 X 4 = 20 5 X 5 = 25
6 X 1 = 6 6 X 2 = 12 6 X 3 = 18 6 X 4 = 24 6 X 5 = 30 6 X 6 = 36
7 X 1 = 7 7 X 2 = 14 7 X 3 = 21 7 X 4 = 28 7 X 5 = 35 7 X 6 = 42 7 X 7 = 49
8 X 1 = 8 8 X 2 = 16 8 X 3 = 24 8 X 4 = 32 8 X 5 = 40 8 X 6 = 48 8 X 7 = 56 8 X 8 = 64
9 X 1 = 9 9 X 2 = 18 9 X 3 = 27 9 X 4 = 36 9 X 5 = 45 9 X 6 = 54 9 X 7 = 63 9 X 8 = 72 9 X 9 = 81

从这个运行结果来看,将整个乘法表看成第一个for的结果,我想你应该就能看出从1迭代至9,接着每一行就是内部第二个for的结果了,这里用到了for x in range(1,i+1):,就可以在每一层都是从1到i,不就符合九九乘法表了吗。
希望我这么解释可以让你理解。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题