循环中的continue与break语句


前言


一、break语句

首先先看一个代码块儿

x=0
while x<100:
	if x==5:
		break;
	print(x)
	x+=1

如果执行上述代码会得到什么结果呢?

输出结果:
0
1
2
3
4

接下来分析这个代码块儿,在上面的代码中,while循环中的条件语句时x<100,而初值变量是0,因此,如果在while循环中,每次对初值加1,那么while循环会循环100次,不过在while循环中进行了if语句条件判断,当x的值等于5时执行了break语句,跳出了循环,所以循环只会执行6次(从0到5),当执行到最后一次时,执行了break语句推出了循环,而后面的语句都不会调用,所以这段循环只会输出0到4共5个数字。


break语句的作用:通过上面的例子,能够看出,break主要做的一件事就是终止循环,如果一旦执行了break语句,那么无论循环到什么地方,整个循环体就终止了,当我在读一个代码块儿时,发现了Break,我会首先找整个循环体有多大,毕竟等会儿我就不用读这该死的循环了!!!


二、continue语句

与break语句相对应的还有一个continue语句,与break语句不同的是,continue语句是用来终止本次循环的,而break是用来跳出整个循环的。continue终止本次循环后会立刻开始执行下一次循环。

x=0
while x<3:
	if x==1:
		conyinue;
	print(x)
	x+=1

这个输出结果是比较有意思的

输出结果:
0

在上面的代码中,由于执行了continue语句,因此if语句后面的所有语句都不会执行了,while循环会继续执行下一次循环,但是值得注意的是,当执行这段代码时会进入死循环了,所谓的死循环是指while语句后面的条件永远为TRUE,也就是永远都不会结束。这可能是很多人写循环时容易犯的一个错误。


现在重新看一下这个代码,如果想要往while循环正常结束,x必须大于或等于3,但是当执行了continue语句后if后面的所有语句在本次循环中都不会执行,循环体的最后一条语句是x+=1,这条语句用于每次循环中将x的值加1,但本次循环中没有加1 ,所以此时x的值还是1,也就是说if条件永远满足,因此continue语句永远都会执行。解决的方法也是显而易见的。

x=0
while x<3:
	if x==1:
		x+=1
		conyinue;
	print(x)
	x+=1

总三:嵌套循环中的break和continue

break语句和continue语句同样支持for循环,而且支持嵌套循环,不过要注意的是,如果在嵌套循环中使用了break语句,那么只能退出当前层的循环,不能退出最外层的循环。

names=[Bill,Mike,Marry]
print(
break在for循环中的应用)
for name in names:
	if not name.startswith(B):
		break;#遇到列表元素不以B开头就终止for循环
	print(name)

print(
continue在for循环中的应用)
for name in names:
	if name.startswith(B):
		continue;#遇到列表元素不是B开头终止本次循环,进行下一次循环
	print(name,end=)

print(
嵌套循环)
arr1=[1,2,3,4,5]
arr2=[Bill,Mike,Marry]
arr=[arr1,arr2]
i=0
while i<len(arr):
	for value in arr[i]:
		print(value,end=)
	i+=1
	print()
输出结果:
break在for循环中的应用
Bill

continue在for循环中的应用
MikeMarry
嵌套循环
12345
BillMikeMarry

输出结果:


总结

主要介绍在循环体中如何跳出循环,两个语句,break语句以及continue

经验分享 程序员 微信小程序 职场和发展