3.6 二重循环
看下面的一个循环的代码,循环内部又有循环:
for i in range(10): line="" for j in range(10): line=line+"*"+"\t" print(line)
那么就会打印10*10个字符'*'的矩阵

外层循环控制行数,内层循环控制一行有几个星号。
下面是把星号改成数字,打印1到100.这样内层循环用到了外层循环的i(第6行代码):
for i in range(10): #外层循环每次开始line都重置为空 line="" #这个循环负责构建由10个数字拼接成一行的字符串 for j in range(1,11): line=line+str(i*10+j)+"\t" print(line)
这段代码打印的结果就是1到100

这段二重循环的代码你可以这样阅读,内层的循环把10个数字拼接起来,分别是10i+1,10i+2……10i+10
line=""
for j in range(10):
line=line+str(i*10+j)+"\t"
print(line)
那么外层循环的一次循环将打印10个数字,然后转行。最外层的循环,循环10次,那么就是10*10个数字了。
下面是一个打印九九乘法表例子,运行一下看看结果:
for i in range(1,10): line="" for j in range(1,10): line=line+str(i)+"×"+str(j)+"="+str(i*j)+"\t" print(line)
注意看看中间打印的乘法式子是怎么拼起来的。