Python基础 while循环与break、continue关键字
作者:zhanglei 发布时间:2023-11-19 03:41:42
前言:
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
结果如下:
来源:https://zhuanlan.zhihu.com/p/418092151


猜你喜欢
- 在做数据库备份和还原数据库的时候出现"错误2812:未能找到存储过程’master.dbo.xp_fileexist’"
- 安装Python环境ANACONDA是一个Python的发行版本,包含了400多个Python最常用的库,其中就包括了数据分析中需要经常使用
- 一、概念触发器是一种特殊类型的存储过程,不由用户直接调用。创建触发器时会对其进行定义,以便在对特定表或列作特定类型的数据修改时执行。触发器可
- 1创建窗口1 turtle.setup(width,height,startx,starty)设置主窗口的大小和位置,width如果是整数,
- 一、要求 1 创建数据表 CREATE TABLE [dbo].[StuScore]( [stuid] [int] NOT NULL, [s
- python里的super().init()有什么用?对于python里的super().__init__()有什么作用,很多同学没有弄清楚
- 前言首先,一个常见的问题是,ECMAScript 和 JavaScript 到底是什么关系?ECMAScript是一个国际通过的标准化脚本语
- 背景一直对语音合成系统比较感兴趣,总想能给自己合成一点内容,比如说合成小说,把我下载的电子书播报给我听等等。语音合成系统其实就是一个基于语音
- 前言:话说,我一直没能理解美工究竟是什么(这是一篇投稿)。因为要求确实很多。目前,我只能理解成,是前端开发+页面设计+用户体验设计的全能手。
- 跳表跳表,又叫做跳跃表、跳跃列表,在有序链表的基础上增加了“跳跃”的功能,由William Pugh于1990年发布,设计的初衷是为了取代平
- 本文实例为大家分享了python实现移位加密和解密的具体代码,供大家参考,具体内容如下代码很简单,就不多做解释啦。主要思路是将字符串转为As
- 区域生长是一种串行区域分割的图像分割方法。区域生长是指从某个像素出发,按照一定的准则,逐步加入邻近像素,当满足一定的条件时,区域生长终止。区
- 核心代码:from random import randomfrom time import timefrom PyQt5.QtCore i
- drop方法有一个可选参数inplace,表明可对原数组作出修改并返回一个新数组。不管参数默认为False还是设置为True,原数组的内存值
- Matlab函数对应关系(Numpy)首先给出官网链接,其中详细说明了在Python下如何用Numpy实现Matlab下相同的函数功能。博主
- 前言本文介绍如何使用Python制作一个简单的猜数字游戏。游戏规则玩家将猜测一个数字。如果猜测是正确的,玩家赢。如果不正确,程序会提示玩家所
- 从物理意义上来讲,InnoDB表由共享表空间文件(ibdata1)、独占表空间文件(ibd)、表结构文件(.frm)、以及日志文件(redo
- python中的Reportlab模块reportlab模块是用python语言生成pdf文件的模块安装:pip install repor
- You have an error in your SQL syntax; check the manual that correspond
- 当需要再次安装SQL Server时,如果序列号找不到了,可以试着从已经安装的实例里找回序列号,因为安装完SQL Server后,序列号(P