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

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

為什么while雙重循環是這樣的結果?

x=1
y=1
while?True:
????while?y<9:
????????x=x+1
????????y=y+1
????????print?x*10+y

http://img1.sycdn.imooc.com//5a09519a0001ab3904550326.jpg

上面是我的代碼和結果,但是和它不應該是循環輸出64個數出來嗎?

正在回答

3 回答

這是你的程序執行流程:

x==2,y==2,x*10+y==22
x==3,y==3,x*10+y==33
...

x==9,y==9(y之前為8,符合內層循環條件y<9,進入內存循環執行y=y+1,y等于9),x*10+y==99
由于y==9,不滿足內層循環條件y<9,所以跳出內層循環。由于內層循環后面已經沒有代碼了,所以程序然后判斷是否符合外層循環條件,由于符合外層循環條件,所以繼續執行下一條語句,即判斷是否符合內層循環條件,由于不符合內層循環條件(y==9,不滿足y<9),所以不能執行內層循環的打印語句。


可以改為:

x=1
y=1
while?x<9:
????x=x+1
????while?y<9:
????????y=y+1
????????print?x*10+y
????y=0


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

木偶匹諾曹 提問者

非常感謝!我邏輯太亂了
2017-11-14 回復 有任何疑惑可以回復我~

x=1

y=1

#這樣才是8*8次循環,共輸出64個數,之前只有里面while做8次循環

while x<9:

? ? x = x + 1 ?

????while?y<9:

????????y=y+1

????????print?x*10+y


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

木偶匹諾曹 提問者

還是那樣的,并沒變 D:\python_base>python >>> x=1 >>> y=1 >>> #這樣才是8*8次循環,共輸出64個數,之前只有里面while做8次循環 ... while x<9: ... x = x + 1 ... while y<9: ... y=y+1 ... print x*10+y ... 22 23 24 25 26 27 28 29
2017-11-13 回復 有任何疑惑可以回復我~

不是寫錯了,就是寫錯了

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

舉報

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

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

進入課程

為什么while雙重循環是這樣的結果?

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

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

幫助反饋 APP下載

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

公眾號

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