代碼清單 11-4 是代碼清單 11-3 的一個更複雜的版本。
代碼清單 11-4 更複雜的星號塊
輸出如下:
>>> ======================= RESTART =======================>>>How many blocks of stars do you want? 3* * * ** * * * ** * * * * * ** * * * * * * * ** * * * * * ** * * * * * * * ** * * * * * * * * * ** * * * * * * * * * * * ** * * * * * * * * * * * * * *
代碼清單 11-4 中,外循環的循環變量用來為內循環設置範圍。所以每個星號塊不再有相同的行數,而且每一行也不再有相同的星號數,每次循環時行數和星號數都不同。
你希望循環嵌套多深,就可以有多深。要明白這樣的嵌套循環會讓人很頭疼,所以有時打印出循環變量的值會很有幫助,如代碼清單 11-5 所示。
代碼清單 11-5 在嵌套循環中打印循環變量
以下是這個程序的輸出:
>>> ======================= RESTART =======================>>>How many blocks of stars do you want? 3block = 1* * * line = 1 star = 3block = 2* * * * * line = 1 star = 5* * * * * * * line = 2 star = 7* * * * * * * * * line = 3 star = 9block = 3* * * * * * * line = 1 star = 7* * * * * * * * * line = 2 star = 9* * * * * * * * * * * line = 3 star = 11* * * * * * * * * * * * * line = 4 star = 13* * * * * * * * * * * * * * * line = 5 star = 15
在很多情況下,而不只限於在循環中,打印變量的值都會對你很有幫助。這也是最常用的調試方法之一。