当前位置: 首页 > news >正文

「Python程序设计」循环控制:for和while循环语句

​我们在实际业务,或者是实际问题,进行数据分析处理的过程中,往往需要对数据集进行处理。

从程序设计的角度来看,一维数组,代表了同一数据类型的相关数据。二维数组,相当于我们excel中的表格,可以简单理解成,是由一维数组组成的。

比如说,我们的表格按行来看的话,从上到下,每一行,就相当于一个一维数组。而无数的行,就构成了一个二维数组的表格。按列从左到右来看,也是一样的。

而在python编程语言中,类似于一维数组的数据结构是列表,元组,字典。还有pandas库中的series。类似于二维数组的数据结构,典型的代表,就是pandas库中的dataframe。

我们要对一维数组和二维数组,逐个数据元素进行操控的话,就需要通过循环,或者是迭代来实现。循环和迭代,基本上是同一个意思,只是实现的方式略微不同。理论上,一维数组需要一次循环,二维数组则需要二次循环。

循环语句结构

Python 中的循环语句有 for 和 while。

Python 循环语句的控制结构图如下所示。

循环语句,是一个自动执行的过程,所以需要加入控制判断条件,作为结束循环语句的出口。如果没有控制条件,或者是控制条件始终没有达到的话,则会对所有数据都全部循环一遍。

while 循环

Python 中 while 语句的一般形式如下所示:

while 判断条件(condition):

   执行语句(statements)……

while 语句的执行流程,如下图所示

这里要注意,while 语句的判断条件,是放在开始,也就是说,进入循环的时候,先进行一次判断。

同样需要注意冒号和缩进问题。另外,在 Python 中没有 do..while 循环。

我们通过一个计算 1 到 100 的总和的例子,来说明 while 语句的实现过程。

第一部分,我们创建了循环所需的3个变量。

第二部分,循环体。

第三部分,打印输入总和。

我们也可以实现无限循环过程,在现实中,我们的操作系统,实际上底层就是一个无线循环的过程。

我们来看下图

这里,我们的条件判断语句,永远是true,所以循环体会一直执行下去,不会停止。只有通过手工干预,中断程序的执行,才能结束无限循环过程。

大家也可以使用 CTRL+C 来退出当前的无限循环,无限循环在服务器上客户端的实时请求非常有用。

while 循环使用 else 语句

如果 while 后面的条件语句为 false 时,则执行 else 的语句块。

语法格式如下:

while <expr>:

   <statement(s)>

else:

   <additional_statement(s)>

expr 条件语句为 true 则执行 statement(s) 语句块,如果为 false,则执行 additional_statement(s)。

我们来看一个循环输出数字,并且判断大小的例子。

判断的过程,和 if 语句差不多,这里就不再赘述。

for 语句

Python for 循环可以遍历任何可迭代对象,如一个列表或者一个字符串。

for循环的一般格式如下:

for <variable> in <sequence>:

   <statements>

else:

   <statements>

执行流程,如下图所示。

我们来看一个 for 循环实例。

也可用于打印字符串中的每个字符:

整数范围值可以配合 range() 函数使用:

for...else

在 Python 中,for...else 语句用于在循环结束后执行一段代码。

语法格式如下:

for item in iterable:

   # 循环主体

else:

   # 循环结束后执行的代码

当循环执行完毕(即遍历完 iterable 中的所有元素)后,会执行 else 子句中的代码,如果在循环过程中遇到了 break 语句,则会中断循环,此时不会执行 else 子句。

以下 for 实例中使用了 break 语句,break 语句用于跳出当前循环体,不会执行 else 子句:

break 和 continue 语句及循环中的 else 子句

break 语句执行流程图:

continue 语句执行流程图:

这里需要注意,break是直接结束循环,转到出口。而continue,只是转移到条件判断语句,循环继续执行。

while 语句代码执行过程:

for 语句代码执行过程:

break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。

continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

我们来看具体的例子

while 中使用 break:

while 中使用 continue:

以上就是本篇文章的所有内容。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • SQL进阶技巧:如何查询最近一笔有效订单? | 近距离有效匹配问题
  • 进程间通信方式(共享内存、信号灯集、消息队列)
  • 【重学 MySQL】五、MySQL 的卸载
  • C++——类与对象(一)
  • 海绵城市雨水监测系统
  • XC企业建站系统V1.2.5
  • Mac 数据恢复技巧:恢复 Mac 上已删除的文件
  • [ A*实现 ] C++,矩阵地图
  • 理解 Java 中的join方法
  • 接口测试工具SoapUI、Jmeter、Postman
  • E32.【C语言】练习:指针运算习题集(下)(未完)
  • 统计学习与方法实战——K近邻算法
  • 编译u-boot报错configuration written to .config
  • 快速了解Docker容器技术
  • 米家商城主题 html 页面源码分享,可用于网页设计作业
  • 自己简单写的 事件订阅机制
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • Android系统模拟器绘制实现概述
  • Java新版本的开发已正式进入轨道,版本号18.3
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • React中的“虫洞”——Context
  • React组件设计模式(一)
  • Shell编程
  • spring boot 整合mybatis 无法输出sql的问题
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 面试总结JavaScript篇
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 从如何停掉 Promise 链说起
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • ()、[]、{}、(())、[[]]命令替换
  • (8)STL算法之替换
  • (CVPRW,2024)可学习的提示:遥感领域小样本语义分割
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (每日一问)计算机网络:浏览器输入一个地址到跳出网页这个过程中发生了哪些事情?(废话少说版)
  • (十二)Flink Table API
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转) ns2/nam与nam实现相关的文件
  • (转)树状数组
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .Net 4.0并行库实用性演练
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .NET C# 使用 iText 生成PDF
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .Net Web项目创建比较不错的参考文章
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?
  • .net专家(张羿专栏)
  • [ CTF ] WriteUp-2022年春秋杯网络安全联赛-冬季赛
  • [000-01-011].第2节:持久层方案的对比