A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

昔日玄奘

初级黑马

  • 黑马币:17

  • 帖子:8

  • 精华:0

© 昔日玄奘 初级黑马   /  2018-6-4 21:54  /  743 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Python中break与continue的区别
一、最直接的意义上的区别:

break:终止整个循环;

Continue:终止本次循环;

二、疑问

在学习过程中我遇到这样的问题,为何顺序不一样执行出来就不一样呢?

图一:var = 10
while var>0:
var = var-1
if var == 5:
break

    print 'current variable value:', var
结果:current variable value: 9

current variable value: 8

current variable value: 7

current variable value: 6

图二:var = 10
while var>0:
var = var-1
print 'current variable value:', var
if var == 5:
break
结果:current variable value: 9

current variable value: 8

current variable value: 7

current variable value: 6

current variable value: 5

图三:var = 10
while var>0:
var = var-1
print 'current variable value:', var
if var == 5:
continue
结果:current variable value: 9

current variable value: 8

current variable value: 7

current variable value: 6

current variable value: 5

current variable value: 4

current variable value: 3

current variable value: 2

current variable value: 1

current variable value: 0

图四:var = 10
while var>0:
var = var-1
if var == 5:
continue

    print 'current variable value:', var
结果:current variable value: 9

current variable value: 8

current variable value: 7

current variable value: 6

current variable value: 4

current variable value: 3

current variable value: 2

current variable value: 1

current variable value: 0

三、讨论:

1.关于图一与图二最主要的区别在于”print” 的位置上,而编程语句在执行上,总以最后出现的为准,比如“var=var-1,if var=5”句中,if 后的var指代的是第一个等式左边的var;图一中,当最后var=5使,终止整个循环,因print在break之后,最后var=5时,当次及后面的循环都被终止了,先执行break,再执行print,因此那一次的var值不输出,故最后输出的var 为上一次循环时的var 值,图二中,因print在break之前,当var=5时,虽终止整个循环,但先执行了print语句后再终止的整个循环,故输出时var=5的那次循环结果是输出了的。

2.图三与图四主要区别也同于图一与图二的区别,因此结果中输出了current variable value: 5。

3.关于continue与break的区别上,可通过比较图一与图四看出,当var=5时,图一中是整个循环皆终止了(break:终止整个循环),而图四中仅仅终止了当var=5的那次循环(continue:终止本次循环),以后的还是继续输出,直到达到限制条件。

1 个回复

倒序浏览
好好学,日后你会怀念这段与大家一起奋斗的日子,收获的不仅是技术
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马