43. Python for 循环

news2025/1/13 13:53:50

43. Python for 循环

文章目录

  • 43. Python for 循环
    • 1. 课题导入
    • 2. 什么是循环
    • 3. 什么是for循环
    • 4. for 循环语法
    • 5. 可迭代对象
    • 6. for循环的执行流程
    • 7. for 循环的对象
      • 1. 循环对象为字符串
      • 2. 循环的对象不能为整数
      • 3. 循环的对象不能为浮点数
      • 4. 循环对象为布尔类型
      • 5. 循环对象为列表
      • 6. 循环对象为元组
      • 7. 循环对象为字典
      • 8. 循环对象为集合
      • 9. 循环对象为range对象
        • 1. 只有1个参数
        • 2. 有2个参数
        • 2. 有3个参数
    • 8. 课后练习
      • 8.1 用for循环和range函数输出1到100之间的所有偶数
      • 8.2 用for循环和range函数输出1到100之间的所有奇数
    • 9. 总结

1. 课题导入

# 新建一个列表,存储班级人员姓名
# 列表用方括号`[]`表示,元素之间用逗号`,`分隔
name_list =  ['白敬亭', '井柏然', '王嘉尔', '马思纯'] 

# 用列表[索引]的方法将班级人员姓名依次输出
# 列表的正索引是从0开始编号的
print(name_list[0])
print(name_list[1])
print(name_list[2])
print(name_list[3])

【终端输出】

白敬亭
井柏然
王嘉尔
马思纯

在这里插入图片描述

上述列表只有4个元素,我们可以用列表[索引]的方法输出列表的元素。

那如果我们班有100个人,列表就有100个元素。

我们要输出班里每个人的姓名,就需要写100行print代码。

那有没有什么简便的方法可以将100个元素依次输出呢?

python中的for循环可以解决上述问题。

2. 什么是循环

【循环的百度释义】

  1. 特指运行一周而回到原处,再转。

  2. 反复地连续地做某事。

【循环的python释义】

循环是指计算机程序中某些代码被反复执行。

3. 什么是for循环

Python中有2种循环。

一种循环次数明确,另一种循环次数不明确。

在循环重复次数明确时,我们通常称之为计数循环,即for循环。

【功能】

for语句用于遍历序列中的所有元素。

从序列的头部开始,依次取出序列的每个元素,并对每个元素进行一些操作直到结束,这种处理模式被称为遍历。

我们简单理解为多次、反复执行一条或一段代码。

初接触for循环可以理解为从某个容器里依次取出里面的物品,存储在另一个变量里。

【特点】

循环之前就确定了循环次数。

【for循环与while循环的区别】

for循环:循环次数明确。

while循环:循环次数不明确。

while循环后面学。

【遍历对象】

for循环语句遍历的对象只能是可迭代对象。

在这里插入图片描述

4. for 循环语法

# for 循环遍历列表
for i in ['白敬亭','井柏然']  :
    print(i)

【终端输出】

白敬亭
井柏然

上述代码的列表中有2个元素。

有2个元素代码循环2次。

运行上述代码,终端执行了2次print(i),分别输出了白敬亭井柏然

在这里插入图片描述

for 循环语句包含七个要素:

①关键字 “for” 和③关键字 "in"是固定搭配。

②是循环变量。

④可迭代对象。

⑤英文冒号":"。

⑥缩进,冒号下的语句前有四个空格的缩进。缩进快捷键:ctrl+]Tab

⑦循环体,可以理解为 for 循环语句下的一个代码块,就是需要反复执行的代码。正常情况下,每循环一次,这个代码块都会被执行一次。

可迭代对象可以理解为一个"盒子",可以被程序一次一次地取出数据。

循环变量,是用来接收 for 循环语句遍历(即一次次取出)可迭代对象里的数据。

循环变量的名字我们可以自己命名,命名注意事项和变量命名一样,不能用Python中的关键字。

在这里插入图片描述

【4空格缩进的实现】

  1. 英文冒号后直接回车

  2. Tab键

  3. ctrl+

在这里插入图片描述

5. 可迭代对象

  1. 字符串
  2. 列表
  3. 元组
  4. 字典
  5. 集合
  6. range对象

【不可迭代对象】

  1. 整数
  2. 浮点数
  3. 布尔值

6. for循环的执行流程

我的冰箱里有6个鸡蛋。

第1次取出1个鸡蛋。

第2次取出2个鸡蛋。

第3次取出3个鸡蛋。

我们用for循环输出每次取出鸡蛋的个数。

在这里插入图片描述

体验代码

# 用列表存储每次取出鸡蛋的个数
egg_list = [1,2,3]

# 用for循环实现取鸡蛋的动作
# 注意语句结束后有英文冒号
for i in egg_list :
    # 需反复执行的代码,即输出每次取出的鸡蛋数
    # 注意代码前有4个空格
    print(i)    

【终端输出】

1
2
3

【代码解析】

i是变量名,用来存储每次取出的鸡蛋数。

第1次循环i=列表中的第一个元素,即i=1。

第2次循环i=列表中的第二个元素,即i=2。

第3次循环i=列表中的第三个元素,即i=3。

列表中有3个元素,因此执行3次循环,即print(i)执行3次。

在这里插入图片描述

7. for 循环的对象

1. 循环对象为字符串

for i in "andy" :
    print(i)

【终端输出】

a
n
d
y

【代码解析】

上述代码字符串中有4个字符,因此执行4次循环,即print(i)执行4次。

i是循环变量名,也可以用其他变量名,你可以用m , n 等等,看你心情。

"andy"是我遍历的对象,可以理解为某个容器里有1个字符串,我们将字符串中的字符依次取出,并输出。

第1次取出字符a并赋值给变量i,执行print(i),然后继续执行循环。

第2次取出字符n并赋值给变量i,执行print(i),然后继续执行循环。

第3次取出字符d并赋值给变量i,执行print(i),然后继续执行循环。

第4次取出字符y并赋值给变量i,执行print(i),到这里循环执行了4次,列表中已经没有元素可以取了,循环结束。

因此输出的结果为4个字符:a n d y

2. 循环的对象不能为整数

for i in 1234 :
    print(i)

【终端输出】

TypeError: 'int' object is not iterable

整数是不可迭代对象。

循环对象为整数时,程序报错。

‘int’ object is not iterable:“int”对象不可迭代。

3. 循环的对象不能为浮点数

for i in 1.99 :
    print(i)

【终端输出】

TypeError: 'float' object is not iterable

浮点数为不可迭代对象。

对象为整浮点数时,程序报错。

‘float’ object is not iterable:“float”对象不可迭代。

4. 循环对象为布尔类型

for i in True :
    print(i)

【终端输出】

TypeError: 'bool' object is not iterable

布尔类型为不可迭代对象。

对象为布尔值,程序报错。

‘bool’ object is not iterable:“bool”对象不可迭代。

5. 循环对象为列表

for i in [1, 2, 3, 4, 5, 6] :
    print(i)

【终端输出】

1
2
3
4
5
6

列表[1, 2, 3, 4, 5, 6]是我遍历的对象,可以理解为某个容器里有1个列表,我们将列表中的元素依次取出,并输出。

上述代码列表中有6个元素,因此执行6次循环,即print(i)执行6次。

因此输出结果为:1 2 3 4 5 5

6. 循环对象为元组

for i in (1, 2, 3, 4) :
    print(i)

【终端输出】

1
2
3
4

元组(1, 2, 3, 4)是我遍历的内容,可以理解为某个容器里有1个元组,我们将元组中的元素依次取出,并输出。

上述代码元组中有4个元素,因此执行4次循环,即print(i)执行4次。

因此输出结果为:1 2 3 4

7. 循环对象为字典

for i in {"北京":100000,  "上海":200000,  "广州":510000} :
    print(i)

【终端输出】

北京
上海
广州

注意for循环遍历字典时,输出的是字典的键。

上述字典有3个键值对,因此执行3次循环,即print(i)执行3次。

8. 循环对象为集合

for i in {"北京",  "上海",  "广州"} :
    print(i)

【终端输出】

北京
广州
上海

上述集合有3个元素,因此执行3次循环,即print(i)执行3次。

9. 循环对象为range对象

1. 只有1个参数

for i in range(3):
    print(i)

【终端输出】

0
1
2

range函数只有1个参数时,默认开始整数为0,步长为1。

start=0(包含)

end=3(不包含)

step=1

2. 有2个参数

for i in range(2,7):
    print(i)

【终端输出】

2
3
4
5
6

range函数有2个参数时,默认步长为1。

start=2(包含)

end=7(不包含)

step=1

2. 有3个参数

for i in range(3,11,2):
    print(i)

【终端输出】

3
5
7
9

start=3(包含)

end=11(不包含)

step=2(形象理解为等差为2的公差数列)

第1个数为3。
第2个数为3+2=5。
第3个数为5+2=7。
第4个数为7+2=9。
第4个数为9+2=11(不包含)。

8. 课后练习

8.1 用for循环和range函数输出1到100之间的所有偶数

【步骤分析】

确定range函数的3个参数:

start=2(1到之间的第一偶数是2)

end=101(因为要含100,因此结束值要加1)

step=2

【体验代码】

# 注意最后不能省略空格
for i in range(2,101,2) :
    # 注意有4个空格的缩进
    print(i)

因为太占用篇幅,这里不展示输出内容。

8.2 用for循环和range函数输出1到100之间的所有奇数

【步骤分析】

确定range函数的3个参数:

start=1(1到之间的第一奇数是1)

end=100(100是奇数,因此结束值可以为100)

step=2

【体验代码】

# 注意最后不能省略空格
for i in range(1,100,2) :
    # 注意有4个空格的缩进
    print(i)

因为太占用篇幅,这里不展示输出内容。

【程序报错检查以下3个内容】

1.检查是否有英文冒号

2.检查缩进是否正确

3.检查标点符号是否为英文输入法下输入。

9. 总结

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/74737.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用docker构建vue项目并成功运行在本地和线上

先说本地环境 windows10 node vue docker都已经安装齐全 获取nginx镜像 因为要用这个镜像来构建你的vue项目,就像给vue项目提供一个环境一样 docker pull nginx 创建 nginx config配置文件 在项目根目录下创建文件default.conf server {listen 80;s…

火灾报警产品-火灾探测报警产品

消防产品,是指专门用于火灾预防、灭火救援和火灾防护、避难、逃生的产品。适用范围 适用于消防联动控制系统设备、防火卷帘控制器、线型感温火灾探测器、城市消防远程监控产品。认证模式 型式试验初始工厂检查获证后监督。申请资料 1.认证委托人/生产者/生产企业的资…

全面支持 PyTorch 2.0:BladeDISC 5 月~11 月新功能发布

作者:BladeDISC研发团队 BladeDISC 上一次更新主要发布了 GPU AStitch 优化,方法来源于我们发表在 ASPLOS 2022上的论文AStitch。这一次,我们发布了 0.3.0 版本。 本次更新中 BladeDISC 社区全面支持了 PyTorch 2.0 编译,推进了…

同城跑腿系统搭建,灵活的配送选择满足更多场景

为了提供更加便捷的生活服务,同城跑腿系统搭建通过线上的同城跑腿服务平台,在网上用户可以申请同城服务的需求,平台的相关的工作人员快速的响应接单,快速进行同城的配送跑腿服务。 同城跑腿系统搭建,功能少是万万不能…

微信小程序第四篇:生成图片并保存到手机相册

系列文章传送门: 微信小程序第一篇:自定义组件详解 微信小程序第二篇:七种主流通信方法详解 微信小程序第三篇:获取页面节点信息 目录 一、封装分享组件 二、定义用户授权方法 三、调用流程 首先我们看一下要完成的效果&#x…

地理空间开发包 TatukGIS Developer Kernel 11.72.X Crack

TatukGIS Developer Kernel (DK) 是专业级 GIS SDK(软件开发工具包),各行各业的客户都使用它来开发自定义 GIS 应用程序或向现有产品添加地理空间功能。DK 可作为多个 SDK 版本使用,每个版本都针对特定的开发平台进行本地编译&…

胡扯系列之私人AI助手系统的分析与设计

背景 随着时代的发展,计算机算力的提升和近些年来AI模型的井喷以及发展。人工智能应用已经深入我们的日常生活。如人脸识别,无人驾驶等等,同时为了更好地与用户进行交互,完成特定功能,智能对话助手应运而生。如今大量…

某宝付费买的价值上万的60G的Python学习资源,0基础轻松赚钱到手软,请低调使用,禁止外传

前言 你是否 还在为升职加薪发愁? 苦于领导看不到自己更多长处? 还在为房贷,车贷,生计而发愁? 苦于不上班如何轻松赚快钱补贴家用? 为了帮助财务、设计、运营、策划、销售、HR、金融从业者、电商从业…

【单目3D目标检测】MonoFlex论文精读与代码解析

文章目录PrefaceAbstractContributionsPipelineProblem DefinitionDecoupled Representations of ObjectsInside & Outside ObjectsEdge FusionLossVisual Properties Regression2D DetectionDimension EstimationOrientation EstimationKeypoint EstimationAdaptive Depth…

Docker网络模式与配置

目录 🎈🎈1. Docker网络模式🏃‍♂️🏃‍♂️ 🏃‍♂️🏃‍♂️2. 外部访问docker容器🏃‍♂️🏃‍♂️ 🎈🎈3. 创建自定义网络:(设…

尚医通 (三十一) --------- 手机登录

目录一、登录需求1. 登录效果2. 登录需求二、登录1. 搭建 service-user 模块2. 添加用户基础类3. 登录 API 接口4. 生成 token5. 阿里云短信6. 登录前端7. 登录全局事件8. myheader.vue 完整代码三、用户认证与网关整合一、登录需求 1. 登录效果 2. 登录需求 ① 登录采取弹出…

Python爬虫实战,requests+time模块,爬取某招聘网站数据并保存csv文件(附源码)

前言 今天给大家介绍的是Python爬取某招聘网站数据并保存本地,在这里给需要的小伙伴们代码,并且给出一点小心得。 首先是爬取之前应该尽可能伪装成浏览器而不被识别出来是爬虫,基本的是加请求头,但是这样的纯文 本数据爬取的人会…

ImmunoChemistry丨艾美捷抗体夹心ELISA开发试剂盒说明书

使用ImmunoChemistry艾美捷抗体夹心ELISA开发试剂盒评估检测可行性并优化ELISA性能参数。抗体夹心ELISA开发试剂盒提供了八种特殊配制的ELISA溶液和一个模板,用于抗体夹心ELISA测试的初始开发和优化。全面的ELISA开发手册提供了评估初始检测可行性和优化ELISA性能参…

关于 npm run buildprod 报错问题 :文件名、目录名或卷标语法不正确

引言 vue开发基本完成后进行打包时出现错误,这个错误以前没有遇到过,所以在这里激励 参考文章1 参考文章2 问题描述 在idea中运行npm run build:prod打包vue时出现报错 E:\Allworkspaces\idea-workspace\Project\vue-project\my-blog\vue-admin-te…

代码随想录第三天

专题:链表 题目:移除链表元素 题意:删除链表中等于给定值 val 的所有节点。 示例 : 输入:head [1,2,6,3,4,5,6], val 6 输出:[1,2,3,4,5] 解题思想: 我们为了统一操作,我们给链表…

身份证实名认证API接口有什么意义与作用?

身份证实名认证API接口有什么意义? 中国公民的身份证是一种对外证明自己身份的有效证件,随着国家对实名制要求的落实,工作与生活中许多场景都会需要进行身份验证。比如出门外出乘座火车与飞机时、注册互联网络平台时、网络游戏与购物时等等&a…

微信小程序怎么注册?【微信小程序制作】

即使在目前小程序盛行的时代,仍然有很多人在问微信小程序怎么注册、微信小程序怎么做的问题,也证明了我们对于微信小程序的需求依然巨大。那么微信小程序怎么注册呢?下面给大家简单介绍。 步骤1:注册小程序账号 我们在微信公众平…

启封化工行业管理方案—危化品的管理(1)

联合国危险品编码管理 什么是危化品? 危化品是指可能伤害人、其他生物体、财产或环境的固体、液体或气体。这些危险品在运输时始终受到规章制度的约束。运输这些危险品的团队是训练有素的专业人员。使用标签时,存储标签的容器或存储位置通常用菱形标牌标…

2022年疫情下的卡塔尔世界杯,你看了么,盘点一下爆冷的赛事

卡塔尔世界杯卡塔尔世界杯世界杯出现的爆冷比赛沙特阿拉伯 VS 阿根廷(1:2)德国 VS 日本 (1:2)比利时 VS 摩洛哥 (0:2)摩洛哥VS 加拿大 (2:1)日本 VS 西班牙 (2:1)摩洛哥 VS 西班牙(3:0)总结卡塔尔世界杯 卡塔尔世界杯有32个国家参…

数据结构与算法(Java版) | 几个经典的算法面试题(下)

上一讲,我给大家介绍了两个经典算法面试题,即字符串匹配问题和汉诺塔游戏,这一讲,我再来给大家介绍两个经典算法面试题,它们就是八皇后问题和马踏棋盘算法,注意,马踏棋盘算法也被称为骑士周游问…