python小白的基礎(chǔ)問題 關(guān)于while循環(huán)的嵌套
問題描述
源代碼如下:
# -*- coding:gb2312 -*-#站起來,坐下,站起來,轉(zhuǎn)5個圈,坐下。整個流程執(zhí)行10次Process1 = 1Process2 = 1while Process1 < 10: # 這個Process1 代表外面大的while循環(huán) print('='*5) print('第%d次執(zhí)行'%Process1) print('站起來') print('坐下') print('站起來') while Process2 <= 5: # 這個Process2 代表嵌套在里面的while小循環(huán)print('轉(zhuǎn)%d個圈'%Process2)Process2 = Process2 + 1 print('坐下') Process1 = Process1 + 1
執(zhí)行結(jié)果:
我的問題是:為什么如圖紅色標記的這一部分,也就是Process2這一部分的內(nèi)循環(huán),在整個過程只執(zhí)行了一次,而不是隨著外面的整個大循環(huán)執(zhí)行10次? 我如何改進才可以讓他隨著整個程序一直嵌套在里面循環(huán)下去?
問題解答
回答1:執(zhí)行第一次外循環(huán)之后, Process2 的值變成了 6, 在執(zhí)行第二次外循環(huán)及以后時,它的值一直是 6, 所以內(nèi)循環(huán)不執(zhí)行. 如果你想讓它執(zhí)行, Process2的初始化應(yīng)該放到外循環(huán)里面.
Process1 = 1while Process1 < 10: # 這個Process1 代表外面大的while循環(huán) print('='*5) print('第%d次執(zhí)行'%Process1) print('站起來') print('坐下') print('站起來') Process2 = 1 while Process2 <= 5: # 這個Process2 代表嵌套在里面的while小循環(huán)print('轉(zhuǎn)%d個圈'%Process2)Process2 = Process2 + 1 print('坐下') Process1 = Process1 + 1回答2:
要把內(nèi)層循環(huán)的變量賦值放在外層循環(huán)里面才行。保證在每次外層循環(huán)時,內(nèi)層循環(huán)變量都從1開始。不然,內(nèi)層循環(huán)變量第一次運行后變成6,之后一直是6,導致后面不再執(zhí)行。
# -*- coding:gb2312 -*-#站起來,坐下,站起來,轉(zhuǎn)5個圈,坐下。整個流程執(zhí)行10次Process1 = 1while Process1 < 10: # 這個Process1 代表外面大的while循環(huán) print('='*5) print('第%d次執(zhí)行'%Process1) print('站起來') print('坐下') print('站起來') Process2 = 1 while Process2 <= 5: # 這個Process2 代表嵌套在里面的while小循環(huán)print('轉(zhuǎn)%d個圈'%Process2)Process2 = Process2 + 1 print('坐下') Process1 = Process1 + 1
相關(guān)文章:
1. android - 美團篩選處篩選條件停靠+條件點擊滑動到頂部。2. list - python 求助3. python3.x - python3.5使用pyinstaller打包報錯找不到libpython3.5mu.so.1.0等文件求解?4. python算法,如何優(yōu)雅的合并2個列表字典?5. python - def自定義函數(shù)的疑惑6. 請教: 關(guān)于 python 反斜杠轉(zhuǎn)義的疑問7. mysql優(yōu)化 - mysql like語句會導致全表掃描?8. javascript 如何下載一個excel文件 ?9. Python中, 仿照經(jīng)典代碼實現(xiàn)單例, 卻出現(xiàn)了不是單例的的狀態(tài), 代碼哪里出錯了 ?10. php由5.3升級到5.6后,登錄網(wǎng)站,返回的是php代碼,不是登錄界面,各位大神有知道的嗎?
