python小白的基礎(chǔ)問(wèn)題 關(guān)于while循環(huán)的嵌套
問(wèn)題描述
源代碼如下:
# -*- coding:gb2312 -*-#站起來(lái),坐下,站起來(lái),轉(zhuǎn)5個(gè)圈,坐下。整個(gè)流程執(zhí)行10次Process1 = 1Process2 = 1while Process1 < 10: # 這個(gè)Process1 代表外面大的while循環(huán) print('='*5) print('第%d次執(zhí)行'%Process1) print('站起來(lái)') print('坐下') print('站起來(lái)') while Process2 <= 5: # 這個(gè)Process2 代表嵌套在里面的while小循環(huán)print('轉(zhuǎn)%d個(gè)圈'%Process2)Process2 = Process2 + 1 print('坐下') Process1 = Process1 + 1
執(zhí)行結(jié)果:
我的問(wèn)題是:為什么如圖紅色標(biāo)記的這一部分,也就是Process2這一部分的內(nèi)循環(huán),在整個(gè)過(guò)程只執(zhí)行了一次,而不是隨著外面的整個(gè)大循環(huán)執(zhí)行10次? 我如何改進(jìn)才可以讓他隨著整個(gè)程序一直嵌套在里面循環(huán)下去?
問(wèn)題解答
回答1:執(zhí)行第一次外循環(huán)之后, Process2 的值變成了 6, 在執(zhí)行第二次外循環(huán)及以后時(shí),它的值一直是 6, 所以內(nèi)循環(huán)不執(zhí)行. 如果你想讓它執(zhí)行, Process2的初始化應(yīng)該放到外循環(huán)里面.
Process1 = 1while Process1 < 10: # 這個(gè)Process1 代表外面大的while循環(huán) print('='*5) print('第%d次執(zhí)行'%Process1) print('站起來(lái)') print('坐下') print('站起來(lái)') Process2 = 1 while Process2 <= 5: # 這個(gè)Process2 代表嵌套在里面的while小循環(huán)print('轉(zhuǎn)%d個(gè)圈'%Process2)Process2 = Process2 + 1 print('坐下') Process1 = Process1 + 1回答2:
要把內(nèi)層循環(huán)的變量賦值放在外層循環(huán)里面才行。保證在每次外層循環(huán)時(shí),內(nèi)層循環(huán)變量都從1開(kāi)始。不然,內(nèi)層循環(huán)變量第一次運(yùn)行后變成6,之后一直是6,導(dǎo)致后面不再執(zhí)行。
# -*- coding:gb2312 -*-#站起來(lái),坐下,站起來(lái),轉(zhuǎn)5個(gè)圈,坐下。整個(gè)流程執(zhí)行10次Process1 = 1while Process1 < 10: # 這個(gè)Process1 代表外面大的while循環(huán) print('='*5) print('第%d次執(zhí)行'%Process1) print('站起來(lái)') print('坐下') print('站起來(lái)') Process2 = 1 while Process2 <= 5: # 這個(gè)Process2 代表嵌套在里面的while小循環(huán)print('轉(zhuǎn)%d個(gè)圈'%Process2)Process2 = Process2 + 1 print('坐下') Process1 = Process1 + 1
相關(guān)文章:
1. 在mybatis使用mysql的ON DUPLICATE KEY UPDATE語(yǔ)法實(shí)現(xiàn)存在即更新應(yīng)該使用哪個(gè)標(biāo)簽?2. mysql - 表名稱前綴到底有啥用?3. Navicat for mysql 中以json格式儲(chǔ)存的數(shù)據(jù)存在大量反斜杠,如何去除?4. mysql - 怎么生成這個(gè)sql表?5. mysql儲(chǔ)存json錯(cuò)誤6. 哭遼 求大佬解答 控制器的join方法怎么轉(zhuǎn)模型方法7. mysql - 數(shù)據(jù)庫(kù)表中,兩個(gè)表互為外鍵參考如何解決8. 編輯成功不顯示彈窗9. 怎么php怎么通過(guò)數(shù)組顯示sql查詢結(jié)果呢,查詢結(jié)果有多條,如圖。10. sql語(yǔ)句 - 如何在mysql中批量添加用戶?
