ll.pc 发表于 2022-7-20 22:12:04

关于continue

for char in 'PYTHON STRING':
if char =='':
break
print(char, end='')
if char =='O':
continue
以上代码输出的结果是?
PYTHON
PYTHONSTRING
PYTHN
STRING
continue不是跳过这个语句去执行下一个语句吗,为啥有o的打印

ba21 发表于 2022-7-20 23:20:47

提问代码格式化好。
遇continue,回到for(最近一层)处开始下一次循环。

青出于蓝 发表于 2022-7-21 07:52:01

continue指不执行下面的语句,开始下一次循环

黎羽轩 发表于 2022-7-22 09:43:02

continue是不执行当前语句,开始下一次循环
和break有区别哦{:10_257:}

jhq999 发表于 2022-7-23 09:45:16

for char in 'PYTHON STRING':
        if char =='':
                break
        if char =='O':
                continue
        print(char, end='')

python爱好者. 发表于 2022-7-29 13:53:55

青出于蓝 发表于 2022-7-21 07:52
continue指不执行下面的语句,开始下一次循环

应该是:
在停止当前后面没执行的代码后
再次判断条件是否成立后
再决定是否打断或继续循环

你漏了判断条件这一步.....{:10_257:}

python爱好者. 发表于 2022-7-29 14:20:22

@青出于蓝 ,我也不认同:

python爱好者. 发表于 2022-7-29 14:24:14

python爱好者. 发表于 2022-7-29 14:20
@青出于蓝 ,我也不认同:

应该是先判断一下条件是否仍然成立,
然后再去决定是否跳出循环,
并不会直接跳出循环吧......{:10_277:}

青出于蓝 发表于 2022-7-29 15:05:50

python爱好者. 发表于 2022-7-29 14:24
应该是先判断一下条件是否仍然成立,
然后再去决定是否跳出循环,
并不会直接跳出循环吧......{:10_277 ...

你应该是理解错了......
这里循环条件应该是指循环还没有结束(不然哪来的下一次循环呢)
所以楼上所指不会直接跳出循环是什么意思?

python爱好者. 发表于 2022-7-29 15:34:18

青出于蓝 发表于 2022-7-29 15:05
你应该是理解错了......
这里循环条件应该是指循环还没有结束(不然哪来的下一次循环呢)
所以楼上所指 ...

不会不经过判断直接退出循环,而是会在判断条件后再判断是否退出循环
因为如果条件仍然成立,就不会退出.......吧.....{:10_277:}

青出于蓝 发表于 2022-7-29 15:51:15

python爱好者. 发表于 2022-7-29 15:34
不会不经过判断直接退出循环,而是会在判断条件后再判断是否退出循环
因为如果条件仍然成立,就不会退出 ...

举个例子

ExiaGN001 发表于 2022-7-30 07:21:42

本题的逻辑:
在python string这几个字符中
如果是空字符
      结束循环
输出char
如果是o
      跳转至下次循环
先输出再跳转,只要不是空字符就会输出,所以自然有O
PS:投错区了,应该投PY区的

aaron0919 发表于 2022-7-31 15:33:07

判断语句要放在最上面,否则执行到“O”时,
1:判断是否结束,为否;
2:print输出该字符
3:判断是否为O,发现是,进入下一个循环;

也就是判断位置错了
页: [1]
查看完整版本: 关于continue