Python流程控制语句之循环语句
创始人
2024-05-16 18:04:20
0

上一篇:Python流程控制语句之选择语句

文章目录

  • 前言
  • 一、while 循环
  • 二、for 循环
    • 1. 进行数值循环
    • 2. 遍历字符串
  • 三、循环嵌套
  • 总结


前言

生活中很多问题都无法一次解决,就像谚语所说:罗马不是一天建成的。一些事物必须周而复始地运转才能保证其存在的意义,就好比公交车、地铁等交通工具必须每天往返于始发站和终点站之间。类似于这样反复做同一件事的情况,称为循环。Python语言中循环有两种类型

  • 一直重复,直到条件不满足时才结束的循环,称为条件循环。只要条件为真,这种循环会持续下去,比如 while 循环
  • 重复一定次数的循环,称为计数循环,如 for 循环

一、while 循环

while 循环是通过一个条件来控制是否要继续反复执行循环体中的语句

语法如下:

while 条件表达式:循环体

在这里插入图片描述 说明:循环体是指一组被重复执行的语句。

当条件表达式的返回值为真时,则执行循环体中的语句,执行完毕后,重新判断条件表达式的返回值,直到表达式返回的结果为假时,退出循环。while 循环语句的执行流程如下图所示:

在这里插入图片描述

下面通过一个具体的代码实例来看看 while 循环的使用:

i = 0
while i <= 10:  # 当i小于等于10的时候执行下面循环体if i % 2 == 0:  # 如果i能被2整除,则打印出i的值print(i)i += 1  # 每执行一次循环体就给i的值加1

如上代码的作用是打印出10以内所有的偶数,代码执行结果如下图所示:

在这里插入图片描述
在这里插入图片描述 注意:在使用 while 循环语句时,一定不要忘记添加循环终止条件(例如上述代码中最后一行代码:i += 1 ),否则将产生死循环

那什么是死循环呢?就是代码会一直循环运行下去,可能会导致电脑崩溃,这是很多零基础大白最容易犯的错误,比如下面视频所示场景:

其实我们可以看到死循环之所以永无止境地运行下去,就是因为少了将循环的条件表达式结果改变为 False 的代码,所以这里一定要注意别漏掉哦。不过即使真的遇到死循环也别怕,我们可以强制结束程序。

在这里插入图片描述

如果是小的死循环,我们可以直接将代码手动终止运行,就是点击PyCharm中的红色方形按钮,如下图箭头所示:

在这里插入图片描述

如果是大的死循环,那可能会在瞬间导致电脑死机,这时候我们鼠标已经点击不了任何按钮,那就只能在任务管理器里面关掉后台PyCharm进程

打开任务管理器的快捷方式是同时按下 Ctrl + Alt + Delete 键 ,在出现的选项中点击任务管理器,进入管理器页面如下图:

在这里插入图片描述

在当前页面中鼠标右键点击 PyCharm,在下拉列表中选择结束任务,即可关掉PyCharm。

二、for 循环

for 循环是一个依次重复执行的循环。通常适用于遍历序列,以及迭代对象中的元素

语法如下:

for 迭代变量 in 对象:循环体

其中,迭代变量用于保存读取出的值对象为要遍历或迭代的对象,该对象可以是任何有序的序列对象,如字符串、列表等循环体为一组被重复执行的语句

for 循环语句的执行流程如下图所示:

在这里插入图片描述

1. 进行数值循环

在使用 for 循环时,最基本的应用就是进行数值的循环取用。例如想要实现从 1 到 1000 的累加,可以通过下面的代码:

result = 0  # 保存累加结果的变量
for i in range(1001):result += i  # 实现累加功能
print(result)  # 循环结束之后输出结果

在上面的代码中,使用了 range() 函数,该函数是Python内置的函数,用于生成一系列连续的整数,多数情况和 for 循环语句搭配使用。其语法格式如下:

range(start, end, step)

参数说明:

  • start用于指定计数的起始值,可以省略,如果省略则从 0 开始。
  • end用于指定计数的结束值(但不包括该值,如 range(5),则得到的值为 0~4,不包括 5),end参数不能省略。当 range() 函数中只有一个参数时,即表示指定计数的结束值。
  • step用于指定步长,即两个数之间的间隔,可以省略,如果省略则表示步长为 1。例如,range(1, 5) 将得到 1、2、3、4。

在这里插入图片描述 注意:在使用 range() 函数时,如果只有一个参数,那么表示指定的是 end;如果有两个参数,则表示指定的是start 和 end;如果三个参数都存在时,最后一个参数才表示步长。

例如,使用下面的 for 循环语句,将输出 10 以内的所有偶数

for a in range(0, 11, 2):print(a)

得到的结果如下图:

在这里插入图片描述

2. 遍历字符串

使用 for 循环语句除了可以循环数值,还可以逐个遍历字符串,例如,下面的代码可以将横向显示的字符串转换为纵向显示

a = "要么出众,要么出局"
print(a)  # 横向显示
for i in a:print(i)  # 纵向显示

上面代码的运行结果如下图所示:

在这里插入图片描述

在这里插入图片描述 说明:for 循环还可以用于遍历列表、元组、集合和字典等等,这些序列类型以及相关的遍历方法将在后面博客中进行介绍。

三、循环嵌套

一个循环体中嵌入另一个循环,这称为循环嵌套。例如在电影院找座位号,需要知道第几排第几列才能准确找到自己的座位号,这个寻找座位的过程就类似循环嵌套。

在 Python 中,for 循环和 while 循环都可以进行循环嵌套

例如,在 for 循环中套用 for 循环的格式如下:

for 迭代变量1 in 对象1:for 迭代变量2 in 对象2:循环体2循环体1

while 循环中套用 while 循环的格式如下:

while 条件表达式1:while 条件表达式2:循环体2循环体1

for 循环中套用 while 循环的格式如下:

for 迭代变量 in 对象:while 条件表达式:循环体2循环体1

while 循环中套用 for 循环的格式如下:

while 条件表达式:for 迭代变量 in 对象:循环体2循环体1

下面看一下循环嵌套在代码中的实际应用:用代码打印九九乘法表。这里需要用到的循环嵌套模式是for 循环中套用 for 循环,代码如下:

for a in range(1, 10):  # 输出九行for b in range(1, a+1):  # 输出和行数相等的列print(str(b) + "x" + str(a) + "=" + str(a * b) + "\t", end="")print("")  # 换行

程序运行结果如下图所示:

在这里插入图片描述

除了上面介绍的四种嵌套格式外,还可以实现更多层的嵌套,因为与上面的嵌套方法类似,这里就不再逐一列出了。


总结

以上就是今天跟大家介绍的循环语句,这其中 for 循环是日后开发中最常用的循环结构,其次就是 while 循环。下一篇会跟大家聊聊Python流程控制中的跳转语句,希望对大家有帮助哦❥(ゝω・✿ฺ)。

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...