父与子的编程之旅 python 3 pdf_《父与子的编程之旅》嵌套循环例题解析
《父與子的編程之旅》,11.4可變嵌套循環的問題解答。
numBlocks書里是Python2.X,我的是Python3.X,原理沒有差別。
分析如下:
0、手動輸入input
當 input = 3 時:
numBlocks = 3;
1.外循環 block層:
for所以,外層循環 block層 會發生3次大循環,(4 - 1 = 3 次)
即:
1.1 當 block = 1 時,
1.2 當 block = 2 時,
2.中間循環 line層:會發生隨著block的值得不同,而line有不同的循環次數。
1.1當 block = 1 時:
for 1.1當 block = 1 時,中間循環 line層 會發生1次循環,即:
2.1 當 line = 1 時,
內循環 star層 會繼續循環。
1.2 當 block = 2 時:
for 1.2 當 block = 2 時,中間循環 line 層會發生3次循環,即:
2.2.1 當 line = 1 時,
2.2.2 當 line = 2 時,
2.2.3 當 line = 3 時,
內循環 star層 會繼續循環。
2.3 當 block = 3 時:
for 2.3 當 block = 3 時,中間循環 line層 會發生5次循環,即:
2.3.1 當 line = 1 時,
2.3.2 當 line = 2 時,
2.3.3 當 line = 3 時,
2.3.4 當 line = 4 時,
2.3.5 當 line = 5 時,
內循環 star層 會繼續循環。
如果我沒看錯問題,您的問題是:
當 第一個 block=1,第一個 line=1 時,第一個 star循環后,為什么打印3個 * ?
3.內循環star層:
1.1 當 block =1,2.1 line =1 時:for 1.1 當 block =1,
2.1 line =1 時:
內循環star層會發生3次循環, 即:
3.1.1 當 star = 1 時,
3.1.2 當 star = 2 時,
3.1.3 當 star = 3 時,
打印print("*")會執行。
下面是劃重點!!!
3.1.1 當 star = 1 時,不是說會打印一個star!
而是print("*") 第一次 會打印一個 * 號 !!!
3.1.2 當 star = 2 時,不是說會打印兩個star!
而是print("*") 第二次 會打印一個 * 號 !!!
3.1.3 當 star = 3 時,不是說會打印三個star!
而是print("*") 第三次 會打印一個 * 號 !!!
所以,
block = 1 在第一次循環的 block 中:
line = 1 在第一次循環的 line 中:
star = 1,2,3 star會循環3次!
print("*") 第一次star循環會打印1個*, star一共會循環3次,所以會打印3個 *
更多練習題:
如何打印print出以下內容
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的父与子的编程之旅 python 3 pdf_《父与子的编程之旅》嵌套循环例题解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用python计算准确率_Python中
- 下一篇: exe一机一码加密工具_文件夹加密软件有