Python流程控制语句之循环语句
创始人
2024-05-16 19:07:03
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流程控制中的跳转语句,希望对大家有帮助哦❥(ゝω・✿ฺ)。

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
群晖外网访问终极解决方法:IP... 写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法&#x...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
Azure构建流程(Power... 这可能是由于配置错误导致的问题。请检查构建流程任务中的“发布构建制品”步骤,确保正确配置了“Arti...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...