linux for循环套for循环格式_Python编程:任劳任怨的FOR循环结构

今天讲解的是第四篇《任劳任怨的FOR循环结构》。本节首先针对FOR循环结构进行介绍,然后对循环结构中常用到的range函数进行说明,最后学习FOR语句在不同场景下的应用。知识点学习共包括四关。

你准备好了吗?Let’s  go !

第一关 FOR循环结构

当我们需要让计算机完成同样的一件事,比如对于包含字符串的列表,我们想将其逐一打印出来;又比如,我们对数字列表的每个元素进行累加、累乘或其他统计,那我们就需要对列表中的每个元素执行同样的操作。循环就是让计算机完成重复工作的一种常见方式。

让我们先看一看什么是FOR循环结构。以下是FOR循环结构示意图。

800ac2287571d27269fb243771d9652b.png

从循环结构示意图看到,当条件成立时,Python会反复执行处理A,一旦条件不成立就立即结束循环。

理解了循环结构,让我们具体来看For-in循环语句。For-in循环语句专门用于遍历范围、列表、元素和字典等可迭代对象包含的元素。For-in循环的语法格式如下:

90933c377ce1fc522513afbddf06bb40.png

迭代变量用于存放从序列类型变量中读取出来的元素,所以一般不会在循环中对迭代变量手动赋值。

代码块指的是具有相同缩进格式的多行代码,由于和循环结构联用,因此代码块又称为循环体。

接下来,我们按照循环语句语法要求,以列表为例,编写一个从列表中读取元素进行遍历的FOR循环,示例如下。

2485a2eee7aa9dc49197d1c66788f9e7.png

FOR循环语句的执行逻辑如下:

  • 从列表fruits中依次取出每一个元素,将其存储在循环计数器变量fruit中(该变量将会在每次循环开始时自动被赋值,不需要额外赋值);

  • 在循环体内执行缩进代码段;

  • 针对列表中每个元素都同样执行上述过程,循环计数器会依次被赋值为列表元素的值;如果列表中有N个元素,则需要执行N次缩进代码段。

  • 当循环列表中每个元素都处理完后,跳出循环,再执行循环语句后面的其他语句。

以下是For循环遍历列表的示例及运行结果。

9b9939ab7a6930a9778396185aa2e426.png

通过以上具体示例,我们看到Python第一次取出列表fruits的第一个元素“apple”后,第一次执行循环体缩进代码段中的语句,打印出“第1个水果是:apple”;然后再回到For语句,第二次取出元素“banana”后,第二次执行循环体缩进代码段中的语句,打印出“第2个水果是:banana”;依次下去,直到列表中的最后一个元素“berry”被取出后,最后一次执行循环体缩进代码段中的语句,打印出“第3个水果是:berry”。

Python for循环不仅可以遍历列表中元素,也可以遍历任何序列的项目,如一个字符串、一个元组或者一个range范围等。

如果我们想让计算机重复地做一件事情,那么FOR循环是最棒的任劳任怨者了!

第二关 range函数

第一关中,我们看到For循环能够从列表、字符串等中取出字符元素,那么For循环能否取出数值呢?这里,我们引入range函数。第一关循环结构中提到的“范围”,就可以利用range函数生成一段左闭右开的整数范围,这是一种不可变的序列类型,它接收的参数必须是整数,可以是负数。

range函数的语法要求如下:

cd180edf4ae8fa31f6daea20bdd809b5.png

range(start,stop,step)函数表示从start开始,到stop-1结束的区间,每次间隔步长为step;start如果省略表示从0开始,step如果省略表示步长为1。

对于range函数,我们经常用到的方式是:让Python从指定的第一个值开始,并在到达指定的第二个值后终止,生成的数值不包含第二个值。range函数示例如下所示。

e7975d7b0049cb00471e07b2648400f2.png

以上示例中,

示例1通过指定起始数字和终止数字创建了1-10之间的自然数,

示例2增加了步长为2控制,因此创建了1-10之间的奇数,

示例3指定步长为-2,倒序创建了数字,

示例4省略了起始数字和步长,默认起始数字为0,默认步长为1。

range()能让你一个函数就生成一系列数字。如果range和列表联合起来,几乎能够创建任何需要的数字集。

第三关 循环结构用于计数、累加、累乘

在第三关中,我们将尝试基于FOR循环语句实现计数、累加和累乘的功能。以下是利用For循环实现数值累加求和的示例。

首先,我们看一下来自生活中的实际问题。

365aee714997924d8ab99f983c8ac02d.png

拿到题目后,我们的分析、编程和运行过程如下。

第一,题目要求采用循环结构解决该问题,因此我们的考虑方式是将实际问题如何转换成计算机中的循环结构解决方案。

587e881ab8cb157dfbc69b6489252d17.png

第二,根据计算机的循环结构解决方案,转换成Python语言程序。

6bf1833fccbfae9124245ac6e2457e3f.png

以下就是完整的程序代码。

002a37669cfdca58b8dea3571cd1519e.png

第三,调试和运行程序代码。

让我们监测一下程序运行过程。

1ec3d11fb8c376f4306bc8fb9769ac0d.png

程序最终输出累加和。

通过以上示例,能够利用FOR循环实现计数、累加和累乘的应用。是不是比人脑快很多?

第四关 循环结构用于比较大小、求最值

在第三关中,我们已经学习了利用For循环进行计数、求累加值、求累乘值。在第四关中,让我们再继续看看For循环如何用于比较大小、求最大值或者最小值。以下是利用For循环实现数值大小比较,并求出最大值的示例。

首先,我们看一下来自生活中的实际问题。

3a5b5e9720e2dd2a3128323c028d1316.png

拿到题目后,我们的分析、编程和运行过程如下。

第一,题目要求采用循环结构解决该问题,因此我们的考虑方式是将实际问题如何转换成计算机中的循环结构解决方案。

7e51eeac58eeaf7c7dd9943777ce9af9.png

第二,根据计算机的循环结构解决方案,转换成Python语言程序。

ecd87ece8ea3f3ccd9c3b80aef55be6f.png

以下就是完整的程序代码。

bd765fe538653153a049569bb065fba3.png

第三,调试和运行程序代码。

让我们监测一下程序运行过程。

aa7f00e9c8754942e56baf23724cad6f.png

程序最终输出最大值。

以上我们讲解了循环结构如何解决实际问题,我们也看到了循环结构能够按照任务目标兢兢业业完成重复性工作,是不是很神奇?

文末,温馨提醒大家注意事项:

1、遇到实际题目不要慌张,题目中会明确采用循环结构编程;

2、思考如何将实际问题转换成计算机解决方案,也就是判断出循环结构的迭代变量是哪个,迭代变量的变化范围是怎样的,哪个是待求变量,待求变量如何计算,哪个变量需要打印输出;

3、注意题目中对每个变量类型的要求,是否需要转换整数,或者浮点数;

4、注意for语句之后一定要有冒号;

5、根据题意,合理构建in后面range范围,注意范围的边界,牢记是左闭右开的整数范围;

6、构造循环体内部代码时,注意赋值语句、选择语句、打印输出语句一定都是缩进代码块。这部分代码块不限制语句数量;

7、循环结束后,一定不要出现“不必要的缩进代码”。循环结束后的代码,只执行一次,千万不要缩进;

8、缩进代码以4个空格为宜。

9、输入语句一定要“友好”啊!

恭喜你,已经能够完成有实际意义的Python选择结构程序了!是不是依然很简单?一切尽在你掌握!

欢迎你继续进入下一期闯关!

感谢大家收看这一期的《任劳任怨的For循环结构》讲解,我们下期再见!

信息学考so easy!

cbb09c71e08a4607b0d27e829f5a204b.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值