安迪Python

V1

2022/12/08阅读:92主题:默认主题

43. Python for 循环

43. Python for 循环

1. 课题导入

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

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

【终端输出】

白敬亭
井柏然
王嘉尔
马思纯
43-1正索引从0开始编号
43-1正索引从0开始编号

上述列表只有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循环语句遍历的对象只能是可迭代对象。

43-2可迭代对象
43-2可迭代对象

4. for 循环语法

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

【终端输出】

白敬亭
井柏然

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

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

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

43-3for循环语法
43-3for循环语法

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

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

②是循环变量。

④可迭代对象。

⑤英文冒号":"。

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

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

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

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

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

43-4for循环语法下
43-4for循环语法下

【4空格缩进的实现】

  1. 英文冒号后直接回车

  2. Tab键

  3. ctrl+

43-5四个空格的缩进
43-5四个空格的缩进

5. 可迭代对象

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

【不可迭代对象】

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

6. for循环的执行流程

我的冰箱里有6个鸡蛋。

第1次取出1个鸡蛋。

第2次取出2个鸡蛋。

第3次取出3个鸡蛋。

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

43-6取鸡蛋
43-6取鸡蛋

体验代码

# 用列表存储每次取出鸡蛋的个数
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次。

43-7for循环
43-7for循环

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 [123456] :
    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 (1234) :
    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. 总结

43-8总结
43-8总结

分类:

后端

标签:

Python

作者介绍

安迪Python
V1