首頁(yè)技術(shù)文章正文

while循環(huán)嵌套和for循環(huán)嵌套語(yǔ)法格式介紹【Python學(xué)習(xí)教程】

更新時(shí)間:2021-04-12 來(lái)源:黑馬程序員 瀏覽量:

1577370495235_學(xué)IT就到黑馬程序員.gif


循環(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é)果如下所示:

*
**
***
****
****


1618195056882_循環(huán)嵌套2.jpg

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ì)介紹【代碼演示】    

Hadoop中的Sequence File文件是什么?【大數(shù)據(jù)面試題】

黑馬程序員Python培訓(xùn)

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!