如何理解python中while的迴圈巢狀

2021-10-11 22:56:49 字數 864 閱讀 2396

row =

1while row <=5:

col =

1while col <= row:

print

("*" end="")

col +=

1print(""

) row +=

1

上面的這個**執行完之後,列印出來的是這樣的:

*

*******

****

***

我當時學while巢狀迴圈時,不理解上面的這個**全部執行完之後的結果:為什麼能夠在列印第n行時能夠在第n行列印n個*。

後來我發現原來是我遺漏了乙個非常重要的條件,從而導致我不理解以上**的結果,那就是:我定義的col計數變數是在第乙個while裡面,而不是在第乙個while外面。

首先,當裡面的while每執行完一次之後,col的值都理所當然的加上乙個1(在這裡我令加上1之後的col的值為col1),導致裡面的while想要再次執行第二遍的時候卻因為col1的值大於row的值,而使執行中的**直接跳過裡面的while迴圈,而直接執行後序的**,比如執行 print("") 和 row += 1 (在這裡我令加上1之後的row的值為row1)。

然後,row被重新附值完之後,**又從外面的while開始從頭執行。當row1被判斷為小於等於5之後,執行下一行**col = 1,這個時候原本被附過值的col(col = col1)又再一次被重新附值為1,然後才再次執行裡面的while,而不是col = col1時執行裡面的while。

以上就是我對於 python中while迴圈巢狀 的理解與解釋,希望能對大家學習python有所幫助。如果我說的有不嚴謹或錯誤的地方希望大家能夠給我指出來,謝謝?

Python入門筆記 迴圈for和while

while 迴圈 在給定的判斷條件為 true 時執行迴圈體,否則退出迴圈體。for 迴圈 重複執行語句 巢狀迴圈 你可以在while迴圈體中巢狀for迴圈 break 語句 在語句塊執行過程中終止迴圈,並且跳出整個迴圈 continue 語句 在語句塊執行過程中終止當前迴圈,跳出該次迴圈,執行下一...

如何理解python中的return

首先要了解,函式是什麼?書上可能會說函式是完成功能的模組之類的話。其實說白了,函式就是個你招來的工人。你給他一些材料,告訴他怎麼用這些材料拼裝,然後他負責把拼裝好的成品交給你。材料就是函式的引數,成品是函式的輸出,而怎麼拼裝就是你寫的函式體 了。比如這段 def worker a b,c x a b...

python中的return如何理解

首先要了解,函式是什麼?書上可能會說函式是完成功能的模組之類的話。其實說白了,函式就是個你招來的工人。你給他一些材料,告訴他怎麼用這些材料拼裝,然後他負責把拼裝好的成品交給你。材料就是函式的引數,成品是函式的輸出,而怎麼拼裝就是你寫的函式體 了。比如這段 def worker a,b,c x a b...