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)
注意看看中间打印的乘法式子是怎么拼起来的。