Python学习笔记 | for循环和while循环

本文详细介绍了Python中的for循环和while循环,包括for循环的空房间概念、range()函数的应用,while循环的放行条件及办事流程。还对比了两种循环的差异,并拓展讨论了pop()函数的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于Python3版本的学习。

循环语句:可以让计算机重复和自动地执行代码。
两种循环语句:for…in…循环语句while循环语句

for…in…循环语句(简称为for循环)

简单的for循环代码格式:

for i in [1,2,3,4,5]:
    print(i*5)
# 遍历列表[1,2,3,4,5],满足就循环执行i*5;
# 不要忘记for语句后面的英文冒号;
# 不要忘记print()函数前面的缩进。

上述代码可这样理解:
¹. 一群人在排队办理业务,也就是列表[1,2,3,4,5];
². 它们中的每一个被叫到号的时候(for i in),就轮流进去一个空房间 i 办业务;
³. 每一个数字进去房间之后,都对计算机说:“我要办这个业务”,也就是print(i),然后计算机为每一个数字提供了打印服务,将1,2,3,4,5都打印在了屏幕上。

for循环的3个要点即是:1.空房间;2.一群等着办业务的人;3.业务流程

for循环:空房间

上面代码中的i就是空房间,学名叫元素(item),你可以把它当成是一个变量。给房间取一个名字,也就是“变量名”。

for循环:一群排队办业务的人

列表、字典和字符串这类数据类型往往可理解为“一群排队办业务的人”,而整数、浮点数不行。
这个过程,在Python中的学名就叫做遍历

dict = {'日本':'东京','英国':'伦敦','法国':'巴黎'}

for i in dict:
    print(i)

#运行结果:
日本
英国
法国
for i in '吴承恩':
    print(i)

#运行结果:
吴
承
恩

除了列表,字典,字符串三种数据类型,我们还可以遍历其他的数据集合。
比如和for循环常常一起搭配使用的:range() 函数

range()函数

用法:range(a,b,c)
a:计数从a开始。不填时默认从0开始。
b:计数到b结束,但不包括b。
c:计数的间隔,不填时默认为1。若为负数时,如-1,以增量为-1(倒序)的顺序提取。

特例:
range(x)函数,生成一个从0到x-1的整数序列。
range(a,b)函数,生成一个从a到b-1的整数序列,“取头不取尾”。

有了range()函数之后,当你想把一段代码固定重复n次时,就可以直接使用for i in range(n)解决问题。

for i in range(13,17):
    print(i)

#运行结果:
13
14
15
16
for i in range(30,20,-2):
    print(i)

#运行结果:
30
28
26
24
22
for循环:办事流程

“办事流程”的学名是for子句。格式是冒号后另起一行,缩进写命令。


while循环

和for循环语句不同,while语句没有“空房间”,也不是“把一群排队办业务的人做完”。它是“在一定的条件下”,“按照流程办事”。
先看下面代码:

a = 0                  #先定义变量a并赋值
while a < 5:           #设定一个放行条件:a小于5,当满足条件时才能办事
    a = a + 1          #满足条件,就执行:a+1
    print(a)           #继续执行:将a+1打印出来
while循环:放行条件

while在英文中表示“当”,while后面跟的是一个条件。
当条件被满足时,就会循环执行while内部的代码(while子句)。
注意:不要忘记冒号和缩进。

while循环:办事流程

while循环,在满足条件的时候,会一轮又一轮地循环执行代码。


两种循环对比

for循环和while循环最大的区别在于循环的工作量是否确定
¹. for循环就像空房间依次办理业务,直到把“所有工作做完”才下班。
². while循环就像哨卡放行,“满足条件就一直工作”,直到不满足条件就关闭哨卡。

总结:
for循环:循环次数明确,把一件事做N遍
while循环:循环次数不明确,把一件事做N遍


拓展:pop()函数

用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
可以将其理解为提取和删除的融合:
① 提取:取到元素,对列表没有影响;
② 删除:删除列表的元素。
③ 移除:同时做到取到元素,并且删除列表中的元素。


风变编程学习笔记 / 代码练习

练习要求:
小明、小红、小刚是同班同学,且坐在同一排,分别坐在第一位、第二位、第三位。
由于他们的身高都差不多,所以,老师计划让他们三个轮流坐在第一位。 每次换座位的时候,第一位变第三位,后面两位都往前一位。

方法1:append()函数
可结合循环和append()函数,让列表发生3次变化,每次都打印出来,如下:
students = [‘小红’, ‘小刚’, ‘小明’]
students = [‘小刚’, ‘小明’, ‘小红’]
students = [‘小明’, ‘小红’, ‘小刚’]

运行代码:

print('这是for循环')
students = ['小明','小红','小刚']
for i in range(3):
     # 设置循环0,1,2,循环三次
    student1 = students.pop(0) 
     # 提取并删除'小明',然后赋值给students1
    students.append(student1) 
     # 将student1添加到最后一位,即安排到最后一个座位
    print(students)
print('\n') 
    
print('这是while循环+pop()函数')
# 使用while循环
students = ['小明','小红','小刚']
i=0  # 定义变量i,并赋值
while i<3:
    # 设置循环,当i为0,1,2时,循环执行子语句
    student1 = students.pop(0) 
     # 提取并删除'小明',然后赋值给students1
    students.append(student1) 
     # 将student1添加到最后一位,即安排到最后一个座位
    i+=1
    # i=i+1,即执行一次,将变量i加1
    print(students)

运行结果:

这是for循环
['小红', '小刚', '小明']
['小刚', '小明', '小红']
['小明', '小红', '小刚']


这是while循环+pop()函数
['小红', '小刚', '小明']
['小刚', '小明', '小红']
['小明', '小红', '小刚']

方法2:pop()函数

students = ['小明','小红','小刚']
for i in range(3):
    students1 = students.pop(0)
    students.append(students1)
    print(students)

运行结果:

['小红', '小刚', '小明']
['小刚', '小明', '小红']
['小明', '小红', '小刚']
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值