在python中,也设置了遇到某些情况是跳出循环还是终止循环的应对方案,那就是在循环体内写上break或continue. 老实说,这两个语句的设计的确给循环操作带来了不少新的变化,可以说像画龙点睛一样地能够帮助实现一些预期效果,着实不错。
介绍下break和continue的含义和用法。
break,字面意思是终止,用在循环体内的意思是终止循环,跳出循环,不再执行循环。用于终止当前循环(for或while循环),并跳出循环体,继续执行循环之后的代码。
使用场景:1. 当达到某个条件时,不再需要继续执行循环体内的代码,可以使用break来跳出循环。2.通常在循环中用于找到目标或在某些条件下提前结束循环。
例子:
n = 0
while True:
n += 1
print(n)
if n == 3:
break
输出结果:1
2
3
continue, 用于跳过本次循环中剩余的代码,直接进入下一次循环迭代,而不是终止循环。
使用场景:1.当在某些特定条件下不希望执行循环体的剩余代码,可以使用continue跳过本次循环迭代,直接进入下一次迭代。 2.主要用于避免执行一些不必要的代码,或者在某些条件下进行快速跳过。
例子:
num = [1, 3, -5, 7, 9, -2]
for i in num:
if i < 0:
continue
print('positive num found.', i)
输出结果是:
positive num found. 1
positive num found. 3
positive num found. 7
positive num found. 9
else语句:完整的循环都应该是有else语句的,只是我们平时一般用不到,哪怕不写也不会影响程序的运行,所以就省略,但是在某些特定的情况下,循环中的else大有用处。
只有循环在正常运行结束后才会执行else语句,如果是循环异常则不运行。(就是当循环遇到了break就属于循环异常结束,所以不会执行else语句代码块。)
continue不会导致循环异常。
=====完整的for循环====
for 变量 in 容器:
循环体
else:
代码块
====完整的while循环===
while 条件语句:
循环体
else:
代码块
例子:举个查询素数的例子:素数是只能被1和本身整除的数。
def else_pr():
nums = [1, 2, 6, 8, 10, 13]
for num in nums:
for x in range(2, num):
if num % x == 0:
print(num, '不是素数!', end ='')
break
else:
print(num, '是素数!', end ='')
输出结果是:1 是素数!2 是素数!6 不是素数!8 不是素数!10 不是素数!13 是素数!
总结:continue用来结束或终止当次循环,主要作用结束本次循环进入下一次循环,break用来跳出结束循环,主要作用让整个循环直接结束;还有循环中的else语句,不论写不写都不影响程序执行,在某些特定的情况下很实用。