Python跳出for循环continue与break的区别
在for和while循环语句中,当循环条件满足时,就会一直循环,如果想中途退出循环,该怎么办?如果想停止本次循环,而不终止整个循环,该怎么办?如果我想写个不执行任何操作的语句,该怎么写?
Python中跳出循环还是与大多数语言一样,可以使用关键字continue跳出本次循环或者break跳出整个for循环。
continue和break的区别
1、break语句用来终止本次循环语句(跳出当前循环,不再执行)。
2、跳出本次循环,执行下一次
下面我们通过一些例子来说明下continue和break的区别
break:跳出循环,不再执行
- Python break语句,就像在C语言中,打破了最小封闭for或while循环。
- break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。
- break语句用在while和for循环中。
- 如果您使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码。
例1: break跳出while死循环
while True:
print("123")
break
print("456")
执行结果:123
程序执行到break时,跳出了本次循环,所以 print('456')不会打印出来
例2: break是终止本次循环,比如你很多个for循环,你在其中一个for循环里写了一个break,满足条件,只会终止这个for里面的循环,程序会跳到上一层for循环继续往下走
for i in range(5):
print("-----%d-----" %i)
for j in range(5):
if j > 4:
break
print(j)
执行结果:
-----0-----
0
1
2
3
4
-----1-----
0
1
2
3
4
-----2-----
0
1
2
3
4
-----3-----
0
1
2
3
4
-----4-----
0
1
2
3
4
这里遇到j>5的时候第二层的for就不循环了,继续跳到上一层循环
2、continue:跳出本次循环,执行下一次
- Python continue 语句跳出本次循环,而break跳出整个循环。
- continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。
- continue语句用在while和for循环中。
例1:continue通过if判断触发,跳出当前一层for循环,终止'h'输出,继续下一次for
for letter in 'Python':
if letter == 'h':
continue #此处跳出for枚举'h'的那一次循环
print('当前字母 :', letter)
执行结果:执行结果中没有'h'
当前字母 : P
当前字母 : y
当前字母 : t
当前字母 : o
当前字母 : n
例2:
var = 5
while var > 0:
var = var -1
if var == 3:
continue
print('当前变量值 :', var)
print("Good bye!")
执行结果:
当前变量值 : 4
当前变量值 : 2
当前变量值 : 1
当前变量值 : 0
Good bye!
如果continue换成break
var = 5
while var > 0:
var = var -1
if var == 3:
break
print('当前变量值 :', var)
print("Good bye!")
执行结果:
当前变量值 : 4
Good bye!
例3:continue是循环到这个点的时候,执行continue这里的某些操作,执行完了之后,继续执行满足条件的这一层循环需要做的事情,不会终止这一层循环(只会跳出这一次)
上面的break例子作一下修改:
for i in range(10):
print("-----%d-----" %i)
for j in range(10):
if j > 5 and j <= 8:
print("我是continue特殊")
continue
print(j)
执行结果:
-----0-----
我是continue特殊
我是continue特殊
我是continue特殊
9
-----1-----
我是continue特殊
我是continue特殊
我是continue特殊
9
-----2-----
我是continue特殊
我是continue特殊
我是continue特殊
9
-----3-----
我是continue特殊
我是continue特殊
我是continue特殊
9
-----4-----
我是continue特殊
我是continue特殊
我是continue特殊
9
-----5-----
我是continue特殊
我是continue特殊
我是continue特殊
9
-----6-----
我是continue特殊
我是continue特殊
我是continue特殊
9
-----7-----
我是continue特殊
我是continue特殊
我是continue特殊
9
-----8-----
我是continue特殊
我是continue特殊
我是continue特殊
9
-----9-----
我是continue特殊
我是continue特殊
我是continue特殊
9
这里的循环就会打印出j在5-8之间需要做的事情,但是不会终止第二层循环,不满足5-8之间的数字,会接着循环下面需要做的事情
版权声明
本站部分原创文章,部分文章整理自网络。如有转载的文章侵犯了您的版权,请联系站长删除处理。如果您有优质文章,欢迎发稿给我们!联系站长:
愿本站的内容能为您的学习、工作带来绵薄之力。
评论