Python系列:while循环与break、continue关键字

举报
数据分析与统计学之美 发表于 2021/09/27 21:27:40 2021/09/27
【摘要】 python系列第十课

今天就带着大家开始我们——Python学习的第二课,Python基础之while循环。
在这里插入图片描述
前面我们已经带着大家学习了for循环,今天再带着大家讲述一下while循环。那么for循环和while循环,到底有什么区别呢?

Python中for循环和while循环本质上是没有区别的,但是在实际应用上,针对性不太一样。

  • for循环,主要应用在遍历中,体现的是遍历二字;
  • while循环,主要用于判断符合条件下循环,体现的是条件二字;

1. while循环语法结构

while循环,表示程序一直运行,直到指定的条件不再满足时,就终止程序。while循环的语法结构如下:

while 判断条件(condition):
    执行代码块儿(statements)……

当判断条件为True时,则执行代码块儿;一直循环到判断条件为False时,退出循环。由此可以看出,while循环必须要有一个退出条件。

2. +=和-=用做退出条件

观察上述while循环的语法,while关键字后面,跟的是一个“判断条件”,这个判断条件用于计数,最开始这个判断条件一直为True,我们需要借助+=和-=符号,让这个计数不断增加 或 减少,直到这个判断条件为False,退出while循环。

概念大家好好体会一遍,可能不太好理解,咋们直接上例子。
在这里插入图片描述

2.1 +=用做退出条件

counts = 1

while counts <= 5:
    print("我吃饱了!")
    counts += 1

结果如下:

2.2 -=用做退出条件

counts = 5

while counts > 0:
    print("我好饿!")
    counts -= 1

结果如下:
在这里插入图片描述
我相信大家看了例子后,应该很容易明白,这里就不再赘述,不管是使用+=正向计数,还是使用-=反向计数,这里都要根据实际情况判断。

3. break和continue关键字

有时候,当程序循环到某个条件的时候,后续的循环没必要执行了,再执行也是耗费资源,所以可以终止循环,这样可以提高程序的执行效率。

在Python中,有continue和break两个关键字,供我们使用。记住一点:continue和break两个关键字,都可以结合for循环和while循环来使用。

3.1 用一个案例,说明两者的区别

想象一个面试官,面试十个人的场景,每次进入一个人。

当面试某一个人的时候,突然有人打电话对面试官说,他家着火了,这相当于break,之后的面试就不用再进行了,相当于循环终止了。

当面试某一个人的时候,别人问你1 + 1等于多少,你说不会,那么面试官说,换下一个人,这里相当于continue,只是终止当前的这一次循环,后面的循环还是要一一执行的。
在这里插入图片描述

3.2 continue结合for循环和while循环使用

我们已经知道了,countinue用于结束当前循环,当前循环后的代码块儿不会在执行。但是整个循环还是会继续下去。

① continue + for循环
for i in range(5):
    if i == 3:
        print("continue之前的代码,会执行")
        continue
        print("continue之后的代码,不会执行")

结果如下:
在这里插入图片描述

② continue + while循环
i = 5

while i > 0:
    i -= 1
    if i >= 3:
        print("我在continue之前,会执行")
        continue 
        print("我在continue之后,不会执行")

结果如下:
在这里插入图片描述

3.3 break结合for循环和while循环使用

break就比较狠了,直接终止循环。

① break + for循环
for i in range(5):
    print(f"i = {i}")
    if i >= 3:
        break

结果如下:
在这里插入图片描述

② break + while循环

对于while循环,我这里写了两段代码。具体区别,我就不说明了,大家仔细观察,可以在留言区告诉我哦。

i = 0

while i <= 5:
    i += 1
    print(f"i = {i}")
    if i >= 3:
        break
-----------------------
i = 0

while i <= 5:
    print(f"i = {i}")
    if i >= 3:
        break
    i += 1

结果如下:
在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。