自學Python編程【第十三節】循環的嵌套
哈嘍,同學們!上節課我們學習了字符串格式化方面的一些內容,你還記得嗎?/n表示什么?...表示什么?d%表示什么?如果不知道的話,趕緊去看看上節課我們學習的內容吧,這節課我們主要學習循環的嵌套,一起來看吧:

設想一樣,如果我們要輸出5個*,用for循環要這么寫
for i in range(0, 5):
print '*'
如果想讓這5個*在同一行,就在print語句后面加上逗號
for i in range(0, 5):
print '*',
但如果我想要這樣一個圖形,怎么辦?
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
當然,你可以循環5次,每次輸出一行“* * * * *”。那如果再進一步,這樣呢?
*
**
***
****
*****
除了你自己動手打好一個多行字符串外,也可以讓程序幫我們解決這種問題,我們需要的是兩個嵌套在一起的循環:
for i in range(0, 5):
for j in range(0, 5):
print i, j
第二個for循環在第一個for循環的內部,表示每一次外層的循環中,都要進行一遍內層的循環。
看一下輸出的結果:
0 0
0 1
0 2
0 3
0 4
1 0
...
4 4
內層循環中的print語句一共被執行了25次。
i從0到4循環了5次。對應于每一個i的值,j又做了從0到4五次循環。所以5*5一共25次。
所以如果要輸出一個5*5的方陣圖案,我們可以
for i in range(0, 5):
for j in range(0, 5):
print '*',
注意:第二個print的縮進和內層的for是一樣的,這表明它是外層for循環中的語句,每次i的循環中,它會執行一次。
print后面沒有寫任何東西,是起到換行的作用,這樣,每輸出5個*,就會換行。
要輸出第二個三角圖案時,我們需要根據當前外層循環的序數,設置內層循環應當執行的次數。
for i in range(0, 5):
for j in range(0, i+1):
print '*',
內層的j每次從0到i+1進行循環。
這樣,當第一次i=0時,j就是range(0,1),只輸出1個*。
而當最后一次i=4時,j就是range(0,5),輸出5個*。
最后順便說下,如果有同學用的是PyScripter,或者其他第三方IDE,可以通過debug中的step,查看程序是怎樣一行一行運行的。IDLE在這方面做得不太好,雖然也可以步進調試,但是很麻煩且不直觀,所以就不推薦去用了。
恭喜您,在Python自學的道路上又堅持了一天,今天分享給大家循環的嵌套都學會了嗎?是不是感覺越來越有趣了呢?就這樣堅持下去,我們就能玩轉Python了,讓我們一起期待!
好啦,今天的分享到這里就結束了,希望大家能夠持續關注馬哥教育官網,每天都會有大量優質內容與大家分享歐!
聲明:文章來源于網絡,侵刪!