作者sseeaann (屌哥)
看板Python
標題[問題] 九九乘法表 使用continue語法疑問
時間Mon Jun 12 00:49:17 2017
https://gist.github.com/b8b776cd35dee214d67611e4392b32b5.git
小弟新手一枚 目前google自學當中
剛好在玩迴圈遇到問題
備註標示的語法 不懂為何要加的道理
請大大協助解答^^
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.234.243.87
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1497199760.A.BDA.html
1F:→ KrauserII: 你的檔案就有答案了 你真的想學嗎? 06/12 01:09
可能我真的是超級初心者吧@@ 請大大指教...
2F:→ BigBank: 沒有那行的話j永遠=4 出不去 把j+=1放在if前面即可 06/12 01:18
剛剛試著照大大的方式 會跑出不一樣的結果~
※ 編輯: sseeaann (125.231.21.145), 06/12/2017 10:25:27
3F:→ jhihruei: 如同2F所說,因為你j+=1放在continue後面的話,會變成無 06/12 10:56
4F:→ jhihruei: 限迴圈,j=4永遠出不去,所以第6行是必要的 06/12 10:56
5F:→ jhihruei: 因為continue會接下來的忽略9.10直接回去執行4 06/12 10:59
6F:→ jhihruei: 把j+=1移到前面會解決continue卡在j=4的問題 06/12 11:00
7F:→ jhihruei: 但是第一次print的時候j就是2不是1了,所以你會覺得結果 06/12 11:02
8F:→ jhihruei: 好像差滿多的,如果要j+=1放前面的話,初始值要用j=0 06/12 11:03
9F:→ jhihruei: 然後while j<=9的條件改成j<9 06/12 11:06
10F:推 jhihruei: 但我覺得這樣程式碼比較不直覺 所以我會選你原本的寫法 06/12 11:20
感謝jh大解說^^ 不過無法理解的部分還包括
我用for迴圈去寫 就沒有需要在continue前面加j+=1的問題了
https://gist.github.com/39a22daccdaaaea25deaec19d4517fe6.git
有大大可以解釋這兩個迴圈為何一個要加一個不用加?
※ 編輯: sseeaann (125.231.21.145), 06/12/2017 13:16:43
11F:推 husky0427: while 只是判斷條件阿 所以在while裡面最後會有j+=1 06/12 15:12
12F:推 APM99: for 會自己從 1 跑到 10 06/13 13:19
13F:→ APM99: while 的j是固定的 j不會變 除非你改變它,例如j+1 06/13 13:22
14F:→ sseeaann: 後面有google自己理解了 仍感謝h大和A大解說 06/15 00:29