作者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/cn.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