黑马程序员技术交流社区

标题: break 与 continue [打印本页]

作者: 昔日玄奘    时间: 2018-6-4 21:54
标题: break 与 continue
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:终止本次循环),以后的还是继续输出,直到达到限制条件。


作者: 小浙姐姐    时间: 2018-6-7 16:30
好好学,日后你会怀念这段与大家一起奋斗的日子,收获的不仅是技术




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2