讀古今文學網 > 父與子的編程之旅:與小卡特一起學Python > 11.1 嵌套循環 >

11.1 嵌套循環

還記得第 8 章「動手試一試」中你寫的乘法表程序嗎?如果不考慮用戶輸入部分,代碼會是這樣:

multiplier = 5for 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 = 52 x 5 = 103 x 5 = 154 x 5 = 205 x 5 = 256 x 5 = 307 x 5 = 358 x 5 = 409 x 5 = 4510 x 5 = 501 x 6 = 62 x 6 = 123 x 6 = 184 x 6 = 245 x 6 = 306 x 6 = 367 x 6 = 428 x 6 = 489 x 6 = 5410 x 6 = 601 x 7 = 72 x 7 = 143 x 7 = 214 x 7 = 285 x 7 = 356 x 7 = 427 x 7 = 498 x 7 = 569 x 7 = 6310 x 7 = 70  

可以在屏幕上打印一些星號,並統計有多少個,你可能認為這很沒意思,不過要瞭解嵌套循環到底是怎麼回事,這確實是一個很好的辦法。在下一節,我們就來完成這個工作。