亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

while的理解

L=[1,2,3,4]

for a in L:

? ? while a<=4:

? ? ? ? print a

這樣運行下來為什么一直顯示的是1,而且無休止進行下去

正在回答

4 回答

迭代只是for a in L: ? ? ?此時首先a取1 ? 然后按照你的代碼 進入下一層,當a<=4時輸出a,執行后返回的仍然是while a<=4:這里

0 回復 有任何疑惑可以回復我~
#1

qq_蘇格拉沒有底_14 提問者

那這里選出來的元素為什么不進行迭代?輸出了1之后,運行下去不應該接下來運行第二個元素2嗎?
2017-07-11 回復 有任何疑惑可以回復我~
#2

qq_蘇格拉沒有底_14 提問者

非常感謝!
2017-07-11 回復 有任何疑惑可以回復我~

第一次執行

while a<=4:

? ? ? ? print a

用的a是1

然后又沒有對a進行處理

所以不斷在判斷1<=4,然后不斷輸出1

完全沒有跳出循環的語句

0 回復 有任何疑惑可以回復我~
#1

qq_蘇格拉沒有底_14 提問者

那如果直接print a,也沒有對a進行處理,美神出來的是1,2,3,4,二不是一直輸出a那?
2017-07-11 回復 有任何疑惑可以回復我~
#2

qq_蘇格拉沒有底_14 提問者

L=[1,2,3,4] for a in L: print a 這樣輸出的就是正常的1,2,3,4四個元素 但是加上了一句while語句怎么就不可以了那? L=[1,2,3,4] for a in L: while a<4: print a 這樣就一直循環出來的是1
2017-07-11 回復 有任何疑惑可以回復我~
#3

LCpeople 回復 qq_蘇格拉沒有底_14 提問者

和 for 循環不同的另一種循環是 while 循環,while 循環不會迭代 list 或 tuple 的元素,而是根據表達式判斷循環是否結束
2017-07-16 回復 有任何疑惑可以回復我~

沒有循環退出的條件就會一直死循環。我覺得可以把while a<=4:這個語句刪掉,直接就是for a in L: print a 。

這樣的執行結果就可以遍歷出來1,2,3,4了

0 回復 有任何疑惑可以回復我~
#1

qq_蘇格拉沒有底_14 提問者

我是想在所有的元素中挑選出符合條件的元素,但是這里我又不想用if來判斷,我想知道while到底是怎樣工作的
2017-07-11 回復 有任何疑惑可以回復我~

應該把while換成if

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
初識Python
  • 參與學習       758383    人
  • 解答問題       8967    個

學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序

進入課程

while的理解

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號