更新時(shí)間:2021-04-12 來(lái)源:黑馬程序員 瀏覽量:
循環(huán)之間可以互相嵌套,進(jìn)而實(shí)現(xiàn)更為復(fù)雜的邏輯。循環(huán)嵌套按不同的循環(huán)語(yǔ)句可以劃分為while循環(huán)嵌套和for循環(huán)嵌套,關(guān)于這兩種循環(huán)嵌套的介紹如下。
1.while循環(huán)嵌套
while循環(huán)嵌套是指while語(yǔ)句中嵌套while或for語(yǔ)句。以while語(yǔ)句中嵌套while語(yǔ)句為例,while循環(huán)嵌套的語(yǔ)法格式如下:
while 條件表達(dá)式1: # 外層循環(huán) 代碼塊1 ...... while 條件表達(dá)式2: # 內(nèi)層循環(huán) 代碼塊2 ......
執(zhí)行while循環(huán)嵌套時(shí),若外層循環(huán)的循環(huán)條件1的值為True,則執(zhí)行代碼段1,并對(duì)內(nèi)層循環(huán)的循環(huán)條件2進(jìn)行判斷:值為True則執(zhí)行代碼段2,值為False則結(jié)束內(nèi)層循環(huán)。內(nèi)層循環(huán)執(zhí)行完畢后繼續(xù)判斷外層循環(huán)的循環(huán)條件1,如此往復(fù),直至循環(huán)條件1的值為False時(shí)結(jié)束外層循環(huán)。
下面使用while循環(huán)嵌套打印一個(gè)由“*”構(gòu)成的直角三角形,示例代碼如下:
i = 1 while i <= 5: j = 1 while j <= i: print("* ", end=' ') j += 1 print(end="\n") i += 1
以上示例的變量i代表圖形的行數(shù),變量j代表每行“”的數(shù)量。需要注意的是,以上程序打印的星號(hào)只需要換行一次,因此代碼在內(nèi)層循環(huán)中修改了print()函數(shù)的結(jié)束符(通過(guò)代碼print(" ", end=' ')將end參數(shù)默認(rèn)的結(jié)束符'\n'替換為空格符)。
運(yùn)行代碼,結(jié)果如下所示:
* ** *** **** ****
2.for循環(huán)嵌套
for循環(huán)嵌套是指for語(yǔ)句中嵌套了while或for語(yǔ)句。以for語(yǔ)句中嵌套for語(yǔ)句為例,for循環(huán)嵌套的語(yǔ)法格式如下:
for 臨時(shí)變量 in 可迭代對(duì)象: # 外層循環(huán) 代碼塊1 for 臨時(shí)變量 in 可迭代對(duì)象: # 內(nèi)層循環(huán) 代碼塊2
執(zhí)行for循環(huán)嵌套時(shí),程序首先會(huì)訪問(wèn)外層循環(huán)中目標(biāo)對(duì)象的首個(gè)元素、執(zhí)行代碼段1、訪問(wèn)內(nèi)層循環(huán)目標(biāo)對(duì)象的首個(gè)元素、執(zhí)行代碼段2,然后訪問(wèn)內(nèi)層循環(huán)中的下一個(gè)元素、執(zhí)行代碼段2……如此往復(fù),直至訪問(wèn)完內(nèi)層循環(huán)的目標(biāo)對(duì)象后結(jié)束內(nèi)層循環(huán),轉(zhuǎn)而繼續(xù)訪問(wèn)外層循環(huán)中的下一個(gè)元素,訪問(wèn)完外層循環(huán)的目標(biāo)對(duì)象后結(jié)束外層循環(huán)。因此,外層循環(huán)每執(zhí)行一次,都會(huì)執(zhí)行一輪內(nèi)層循環(huán)。
下面使用for循環(huán)嵌套打印一個(gè)由“*”構(gòu)成的直角三角形,示例代碼如下:
for i in range(1, 6): for j in range(i): print("*", end=' ') print()
運(yùn)行代碼,結(jié)果如下所示:
* * * * * * * * * * * * * * *
猜你喜歡:
循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)是什么?可以做什么?
python while循環(huán)語(yǔ)句的用法【代碼體驗(yàn)】
python中的for循環(huán)詳細(xì)介紹【代碼演示】