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