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:终止本次循环),以后的还是继续输出,直到达到限制条件。
|
|