[問題] 九九乘法表 使用continue語法疑問

看板Python作者 (屌哥)時間8年前 (2017/06/12 00:49), 8年前編輯推噓3(3011)
留言14則, 6人參與, 最新討論串1/1
https://gist.github.com/b8b776cd35dee214d67611e4392b32b5.git 小弟新手一枚 目前google自學當中 剛好在玩迴圈遇到問題 備註標示的語法 不懂為何要加的道理 請大大協助解答^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.234.243.87 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1497199760.A.BDA.html

06/12 01:09, , 1F
你的檔案就有答案了 你真的想學嗎?
06/12 01:09, 1F
可能我真的是超級初心者吧@@ 請大大指教...

06/12 01:18, , 2F
沒有那行的話j永遠=4 出不去 把j+=1放在if前面即可
06/12 01:18, 2F
剛剛試著照大大的方式 會跑出不一樣的結果~ ※ 編輯: sseeaann (125.231.21.145), 06/12/2017 10:25:27

06/12 10:56, , 3F
如同2F所說,因為你j+=1放在continue後面的話,會變成無
06/12 10:56, 3F

06/12 10:56, , 4F
限迴圈,j=4永遠出不去,所以第6行是必要的
06/12 10:56, 4F

06/12 10:59, , 5F
因為continue會接下來的忽略9.10直接回去執行4
06/12 10:59, 5F

06/12 11:00, , 6F
把j+=1移到前面會解決continue卡在j=4的問題
06/12 11:00, 6F

06/12 11:02, , 7F
但是第一次print的時候j就是2不是1了,所以你會覺得結果
06/12 11:02, 7F

06/12 11:03, , 8F
好像差滿多的,如果要j+=1放前面的話,初始值要用j=0
06/12 11:03, 8F

06/12 11:06, , 9F
然後while j<=9的條件改成j<9
06/12 11:06, 9F

06/12 11:20, , 10F
但我覺得這樣程式碼比較不直覺 所以我會選你原本的寫法
06/12 11:20, 10F
感謝jh大解說^^ 不過無法理解的部分還包括 我用for迴圈去寫 就沒有需要在continue前面加j+=1的問題了 https://gist.github.com/39a22daccdaaaea25deaec19d4517fe6.git 有大大可以解釋這兩個迴圈為何一個要加一個不用加? ※ 編輯: sseeaann (125.231.21.145), 06/12/2017 13:16:43

06/12 15:12, , 11F
while 只是判斷條件阿 所以在while裡面最後會有j+=1
06/12 15:12, 11F

06/13 13:19, , 12F
for 會自己從 1 跑到 10
06/13 13:19, 12F

06/13 13:22, , 13F
while 的j是固定的 j不會變 除非你改變它,例如j+1
06/13 13:22, 13F

06/15 00:29, , 14F
後面有google自己理解了 仍感謝h大和A大解說
06/15 00:29, 14F
文章代碼(AID): #1PFNIGlQ (Python)