前面我们已经学习了for循环,今天再带着大家讲述一下while循环。那么for循环和while循环,到底有什么区别呢?

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

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

while循环语法结构

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

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

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

+=和-=用做退出条件

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

概念大家好好体会一遍,可能不太好理解,咋们直接上例子。

+=用做退出条件

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

结果如下:

-=用做退出条件

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

结果如下:

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

break和continue关键字

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

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

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

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

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

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

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之后,不会执行")

结果如下:

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

结果如下:

Python基础(十四):while循环与break、continue关键字的更多相关文章

  1. python 基础(十四) 正则表达式

    正则表达式 概念: 正则匹配就是一个模糊的匹配 只要符合我的匹配规则 就会认为是正确的数据(精确的匹配) 1.[] #代表原子表把想要匹配的内容写入原子表中   匹配包含的任意一位字符 [a]     ...

  2. python基础十四之匿名函数

    匿名函数 处理简单问题的简化函数,关键字lambda. # 格式:函数名 = lambda 参数:返回值 anonymity = lambda s: s ** 0.5 print(anonymity( ...

  3. Python基础1:if条件判断 break/continue语句

    计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. Python中,if语句被用来进行判断,它的语法结构是: 1 if 判断条件: 2 执行语句…… 3 var = input(" ...

  4. Python 基础语法(四)

    Python 基础语法(四) --------------------------------------------接 Python 基础语法(三)------------------------- ...

  5. 孤荷凌寒自学python第二十四天python类中隐藏的私有方法探秘

    孤荷凌寒自学python第二十四天python类中隐藏的私有方法探秘 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天发现了python的类中隐藏着一些特殊的私有方法. 这些私有方法不管我 ...

  6. 孤荷凌寒自学python第十四天python代码的书写规范与条件语句及判断条件式

    孤荷凌寒自学python第十四天python代码的书写规范与条件语句及判断条件式 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 在我学习过的所有语言中,对VB系的语言比较喜欢,而对C系和J系 ...

  7. Bootstrap<基础十四> 按钮下拉菜单

    使用 Bootstrap class 向按钮添加下拉菜单.如需向按钮添加下拉菜单,只需要简单地在在一个 .btn-group 中放置按钮和下拉菜单即可.也可以使用 <span class=&qu ...

  8. 初学 Python(十四)——生成器

    初学 Python(十四)--生成器 初学 Python,主要整理一些学习到的知识点,这次是生成器. # -*- coding:utf-8 -*- ''''' 生成式的作用: 减少内存占有,不用一次性 ...

  9. Python第二十四天 binascii模块

    Python第二十四天 binascii模块 binascii用来进行进制和字符串之间的转换 import binascii s = 'abcde' h = binascii.b2a_hex(s) # ...

  10. Python第十四天 序列化 pickle模块 cPickle模块 JSON模块 API的两种格式

    Python第十四天 序列化  pickle模块  cPickle模块  JSON模块  API的两种格式 目录 Pycharm使用技巧(转载) Python第一天  安装  shell  文件 Py ...

随机推荐

  1. 官网GitLab CI/CD英文文档翻译

    在查阅GitLab官网的CI/CD功能说明时,全是英文看起来不方便,通过翻译软件自动翻译后"内容失真",看起来很变扭.查阅了百度上的资料发现很多翻译很老旧,有些甚至是挂羊头卖狗肉. ...

  2. Warning: Cannot update during an existing state transition (such as within `render`). Render 报错

    原来 修改(不用在构造函数里面定义)

  3. Spirng 循环依赖报错:Requested bean is currently in creation: Is there an unresolvable circular reference?

    1:前言 最近在项目中遇到了一次循环依赖报错的问题,虽然解决的很快,但是有些不明白的地方,特此记录. 在此我把 bean 的结构和 注入方式单独拎出来进行演示 1.1:报错提示 1.2:错误日志 Ex ...

  4. 搭建Elasticsearch可视化界面 Kibana

    前言 每一个版本的es都有一个对应的Kibana版本,建议和es相同版本,官网地址: 点击进入下载地址 步骤 1.解压 tar -zxvf kibana-7.2.0-linux-x86_64 2.修改 ...

  5. 报错: You are using pip version 10.0.1, however version 18.0 is available.

    报错: You are using pip version 10.0.1, however version 18.0 is available. You should consider upgradi ...

  6. Innodb的存储及缓存

    参考[mysql技术内幕] 一.mysql体系结构和存储引擎 1.数据库与数据库实例 数据库:物理操作系统文件或者其他文件组成的集合: 数据库实例:有数据库后台进程/线程和一个共享内存区域组成. 数据 ...

  7. Springboot项目架构设计

    导航 前言 流水线 架构的艺术 项目架构 理解阿里应用分层架构 superblog项目架构 结语 参考 本节是<Spring Boot 实战纪实>的第7篇,感谢您的阅读,预计阅读时长3mi ...

  8. c++移动构造

    下面随笔给出c++移动构造. 在现实中有很多这样的例子,我们将钱从一个账号转移到另一个账号,将手机SIM卡转移到另一台手机,将文件从一个位置剪切到另一个位置--移动构造可以减少不必要的复制,带来性能上 ...

  9. 【图像处理】使用OpenCV+Python进行图像处理入门教程(三)色彩空间

    这篇随笔介绍使用OpenCV进行图像处理的第三章 色彩空间. 3  色彩空间 之前的介绍,大多是基于BGR色彩空间进行的,但针对不同的实际情况,研究人员提出了许多色彩空间,它们都有各自擅长处理的领域. ...

  10. SQL Database for Modern Developers

    好书分享,面向开发者的Azure SQL Database最佳实践,也适用SQL Server 2016以上的版本.应对不同场景使用的数据库功能,包括内存表,列存储表,非聚集列存储索引,JSON等等. ...