HirasawaYui 发表于 2020-4-9 07:05:19

pass 和continue 的区别

根据以下代码,可不可以理解为:continue是把i=3这个条件控制在了continue里面,不在else里面输出,而pass只起到了占位的作用,所以i=3保留到了以后的循环中?

a= 'python',
i=2
for letter in a:
    if letter == 'y':
       pass
       i=3
    else:
      print (letter+str(i))
结果是:
p2
t3
h3
o3
n3


a= 'python'
i=2
for letter in a:
    if letter == 'y':
      continue
      i=3
    else:
      print (letter+str(i))
结果是:
p2
t2
h2
o2
n2

另外还有没有什么例子能一针见血地指出pass和continue的区别?

yexing 发表于 2020-4-9 07:49:20

本帖最后由 yexing 于 2020-4-9 07:51 编辑

pass 的意思就是什么都不执行,因此说它是个占位符没错。

但是你对 continue 的理解错了,continue 意思是跳出当前循环并开始下一轮循环。
比如下面代码,如果 i 是偶数,那么我们不打印,看看输出结果:
for i in range(1, 11): #从1开始10结束
    if i%2 == 0:
      continue
    print(str(i) + "是奇数!")
输出:
1是奇数!
3是奇数!
5是奇数!
7是奇数!
9是奇数!
解释一下程序逻辑,如果 i 是偶数,进入 if i%2 == 0 的内容,它被 continue 了,所以此时暂时退出循环,不执行 print() 的内容。
接下来继续下一轮循环,i 变成下一个数,如此反复,直至到达 range() 的最后一个数。

顺便说一下,以后发代码建议用代码格式发:

点击上面的 <> 按钮,复制代码进去。
像这样

XiaoPaiShen 发表于 2020-4-9 07:51:22

continue: 执行到该语句时,就会返回到循环的头部,继续往下执行循环。
所以 i=3 永远不会被执行。

pass:只是占位符,当循环体或if 条件执行体没想好执行什么时,只想写个框架时,就写个 pass(否则什么都不写,会出错。)
pass后面如果有其他语句,pass 就没什么作用了。

HirasawaYui 发表于 2020-4-9 08:40:27

yexing 发表于 2020-4-9 07:49
pass 的意思就是什么都不执行,因此说它是个占位符没错。

但是你对 continue 的理解错了,continue 意思 ...

知道了,我刚来鱼C还不懂规矩
页: [1]
查看完整版本: pass 和continue 的区别