循环控制关键字
循环有时候需要主动中断来提高程序执行效率。
看下面的案例:
>>> ls = [60,59,78,80,56,55]
# ls中存放的是所有学生的成绩
# 要判断是否有同学不及格
>>> for i in ls:
... if i < 60:
... print('有同学不及格')
有同学不及格
有同学不及格
有同学不及格
可以发现上面的案例中,其实第二个成绩就不及格了,但是程序继续循环下去,如果数据量小,效率差别不大,但数据量大时会影响程序的执行效率。在实际的代码编写中会有很多这种情况,这时就需要能够主动结束循环的能力。
break
关键字
python中循环结构可以使用break
跳出当前循环体,脱离该循环后代码继续执行。
>>> for i in ls:
... if i >= 60:
... print('有同学及格')
... break
有同学及格
>>> index = 0
>>> while index < len(ls):
... if ls[index] >= 60:
... print('有同学及格')
... break
有同学及格
注意break只会跳出当前循环结构
>>> for i in range(1,4):
... for j in range(1,4):
... if i==2:
... break
... print(i,j)
1 1
1 2
1 3
3 1
3 2
3 3
continue
关键字
python中循环结构还可以使用continue
关键字用来跳出当次循环,继续执行下一次循环。
# 输出所有的偶数
>>> for i in range(10):
... if i%2 == 0:
... continue
... print(i)
1
3
5
7
9
理解小窍门:如果把一个循环结构比作在一家公司工作,每天去公司上班就是每次循环,那么break
了表示辞职,再也不需要去这个公司上班了,continue
表示请假,只是请假当天不去公司上班,第二天还是要去上班的。
else
关键字
循环结构还可以通过和else
关键字进行配合,用来检测循环是否正常循环结束,还是break
掉了。
>>> for i in range(10):
... if i%2 != 0:
... continue
... print(i)
... else:
... print('循环正常结束')
0
2
4
6
8
循环正常结束
>>> for i in range(10):
... if i%2 != 0:
... break
... print(i)
... else:
... print('循环正常结束')
0