文章詳情頁
python小白基礎問題 關于while循環
瀏覽:130日期:2022-06-30 13:20:41
問題描述
題目:用python打印100以內所有的偶數
第一段代碼:
n = 1i = 2*nwhile i <= 100: print(i) n+=1
代碼執行結果:無限的打印數字2
第二段代碼:
n = 1i = 2*nwhile i <= 100: print(i) n+=1 i = 2*n
代碼執行結果:打印正確
我的問題:為什么第一段代碼打印出來結果是錯的,第二段代碼僅僅只是在while循環里面加上i=2*n結果就對了?難道第一段代碼中,n+=1的這一段,n在不斷地加1的過程中,無法改變i的值么?為什么?
問題解答
回答1:在循環中,沒有執行 i = 2*n,它的值又怎么會改變. 只有執行了相應的語句,才會改變的. 初始賦值 i = 2*n, i的值不會動態的隨n的改變而改變,只有執行了相應的語句才會改變.
回答2:是的,第一段代碼n加1并沒有改變i的值,i一直是2.
while循環的語法是:while 條件: code...
只要條件滿足True,就一直循環。
第一段的條件一直是 i < 100, 即 2 < 100, 滿足條件,所以會不斷循環。
上一條:Python2中code.co_kwonlyargcount的等效寫法下一條:python3.x - python3.5使用pyinstaller打包報錯找不到libpython3.5mu.so.1.0等文件求解?
相關文章:
1. javascript - 關于css絕對定位在ios瀏覽器被橡皮筋遮擋的問題2. Python如何播放還存在StringIO中的MP3?3. mysql - 分庫分表、分區、讀寫分離 這些都是用在什么場景下 ,會帶來哪些效率或者其他方面的好處4. python - Win7調用flup報錯’module’ object has no attribute ’fromfd’5. python - 我在使用pip install -r requirements.txt下載時,為什么部分能下載,部分不能下載6. Python爬蟲如何爬取span和span中間的內容并分別存入字典里?7. python - 編碼問題求助8. mysql - 如何減少使用或者不用LEFT JOIN查詢?9. mysql 一個sql 返回多個總數10. 網頁爬蟲 - Python 爬蟲中如何處理驗證碼?
排行榜
