循环控制关键字

循环有时候需要主动中断来提高程序执行效率。

看下面的案例:

>>> 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
posted @ 2022-08-20 15:33  python心蓝  阅读(111)  评论(0编辑  收藏  举报