python小白基礎(chǔ)問(wèn)題 關(guān)于while循環(huán)
問(wèn)題描述
題目:用python打印100以?xún)?nèi)所有的偶數(shù)
第一段代碼:
n = 1i = 2*nwhile i <= 100: print(i) n+=1
代碼執(zhí)行結(jié)果:無(wú)限的打印數(shù)字2
第二段代碼:
n = 1i = 2*nwhile i <= 100: print(i) n+=1 i = 2*n
代碼執(zhí)行結(jié)果:打印正確
我的問(wèn)題:為什么第一段代碼打印出來(lái)結(jié)果是錯(cuò)的,第二段代碼僅僅只是在while循環(huán)里面加上i=2*n結(jié)果就對(duì)了?難道第一段代碼中,n+=1的這一段,n在不斷地加1的過(guò)程中,無(wú)法改變i的值么?為什么?
問(wèn)題解答
回答1:在循環(huán)中,沒(méi)有執(zhí)行 i = 2*n,它的值又怎么會(huì)改變. 只有執(zhí)行了相應(yīng)的語(yǔ)句,才會(huì)改變的. 初始賦值 i = 2*n, i的值不會(huì)動(dòng)態(tài)的隨n的改變而改變,只有執(zhí)行了相應(yīng)的語(yǔ)句才會(huì)改變.
回答2:是的,第一段代碼n加1并沒(méi)有改變i的值,i一直是2.
while循環(huán)的語(yǔ)法是:while 條件: code...
只要條件滿(mǎn)足True,就一直循環(huán)。
第一段的條件一直是 i < 100, 即 2 < 100, 滿(mǎn)足條件,所以會(huì)不斷循環(huán)。
相關(guān)文章:
1. 網(wǎng)頁(yè)爬蟲(chóng) - python爬蟲(chóng)翻頁(yè)問(wèn)題,請(qǐng)問(wèn)各位大神我這段代碼怎樣翻頁(yè),還有價(jià)格要登陸后才能看到,應(yīng)該怎么解決2. python如何不改動(dòng)文件的情況下修改文件的 修改日期3. python 正則表達(dá)式提取4. 算法 - python 給定一個(gè)正整數(shù)a和一個(gè)包含任意個(gè)正整數(shù)的 列表 b,求所有<=a 的加法組合5. javascript - 微信h5發(fā)送圖文信息,部分設(shè)備點(diǎn)擊“發(fā)送”按鈕時(shí)沒(méi)反應(yīng),問(wèn)題較難重現(xiàn),如何能找到可能存在問(wèn)題的點(diǎn)?6. javascript - 微信小程序里怎么把頁(yè)面轉(zhuǎn)成圖片分享7. 大家好,請(qǐng)問(wèn)在python腳本中怎么用virtualenv激活指定的環(huán)境?8. python - 求一個(gè)在def中可以實(shí)現(xiàn)調(diào)用本def滿(mǎn)足特定條件continue效果的方法(標(biāo)題說(shuō)不太清楚,請(qǐng)見(jiàn)題內(nèi)描述)9. javascript - JS用ajax爬取百度外賣(mài)店家信息10. python - Pycharm調(diào)試代碼進(jìn)行列表遍歷時(shí),如何直接賦值指定元素
