11.1 嵌套循环
还记得第 8 章“动手试一试”中你写的乘法表程序吗?如果不考虑用户输入部分,代码会是这样:
multiplier = 5
for i in range (1, 11):
print i, "x", multiplier, "=", i * multiplier
如果想一次打印 3 个乘法表呢?这种事情正是嵌套循环最擅长的。嵌套循环就是一个循环出现在另一个循环里。对于外循环的每次迭代,内循环都要完成它的所有迭代。
要打印 3 个乘法表,只需要把原来的循环(打印一个乘法表)包含在一个外循环中(运行 3 次)。这样,程序就会打印 3 个乘法表而不只是一个。代码清单 11-1 显示了相应的代码。
代码清单 11-1 一次打印 3 个乘法表

注意必须将内循环缩进,而且 print 语句距外部 for 循环开始位置还要多加 4 个空格。这个程序会分别打印 5、6 和 7 的乘法表,每个表分别从 1 乘到 10:
>>> ==================== RESTART ===================
>>>
1 x 5 = 5
2 x 5 = 10
3 x 5 = 15
4 x 5 = 20
5 x 5 = 25
6 x 5 = 30
7 x 5 = 35
8 x 5 = 40
9 x 5 = 45
10 x 5 = 50
1 x 6 = 6
2 x 6 = 12
3 x 6 = 18
4 x 6 = 24
5 x 6 = 30
6 x 6 = 36
7 x 6 = 42
8 x 6 = 48
9 x 6 = 54
10 x 6 = 60
1 x 7 = 7
2 x 7 = 14
3 x 7 = 21
4 x 7 = 28
5 x 7 = 35
6 x 7 = 42
7 x 7 = 49
8 x 7 = 56
9 x 7 = 63
10 x 7 = 70
可以在屏幕上打印一些星号,并统计有多少个,你可能认为这很没意思,不过要了解嵌套循环到底是怎么回事,这确实是一个很好的办法。在下一节,我们就来完成这个工作。
