python小白基礎(chǔ)問(wèn)題 關(guān)于while循環(huán)
問(wèn)題描述
題目:用python打印100以內(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...
只要條件滿足True,就一直循環(huán)。
第一段的條件一直是 i < 100, 即 2 < 100, 滿足條件,所以會(huì)不斷循環(huán)。
相關(guān)文章:
1. mysql - 新浪微博中的關(guān)注功能是如何設(shè)計(jì)表結(jié)構(gòu)的?2. android-studio - Android Studio 運(yùn)行項(xiàng)目的時(shí)候一堆警告,跑步起來(lái)!?3. MySQL數(shù)據(jù)庫(kù)中文亂碼的原因4. angular.js使用$resource服務(wù)把數(shù)據(jù)存入mongodb的問(wèn)題。5. 如何解決Centos下Docker服務(wù)啟動(dòng)無(wú)響應(yīng),且輸入docker命令無(wú)響應(yīng)?6. angular.js - 關(guān)于$apply()7. dockerfile - [docker build image失敗- npm install]8. 表單提交驗(yàn)證,沒(méi)反應(yīng),求老師指點(diǎn)9. angular.js - Ionic 集成crosswalk后生成的apk在android4.4.2上安裝失敗???10. 我在centos容器里安裝docker,也就是在容器里安裝容器,報(bào)錯(cuò)了?
