基于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)
运行结果:
['小红', '小刚', '小明']
['小刚', '小明', '小红']
['小明', '小红', '小刚']