循环:把一件事情重复执行多遍
For循环:
for…in…循环语句
语法:
- 有个空房间叫做变量;
- 有一群等着办业务的人:列表/字典/字符串/其他数据集合,最后带冒号
- 执行业务流程:不断循环的部分:不要忘记了缩进!!!
- 执行循环的过程,也叫作【遍历】
若为列表:
for i in [1,2,3,4,5]:
print(i)
结果如下所示:将列表里的值打印出来
1
2
3
4
5
若为字典:
dict = {'日本':'东京','英国':'伦敦','法国':'巴黎'}
for i in dict:
print(i)
结果如下所示:就是将键打印出来
日本
英国
法国
若为字符串:
for i in '吴承恩':
print(i)
结果如下所示:可以一个一个地打印出来,说明字符串也是一个一个进去的
吴
承
恩
若为其他数据集合:range()
for I in range(3):
Print(i)
结果为:取从0~x-1的整数序列
0
1
2
For I in range(2,4)
Print(i)
结果为:取头不取尾
2
3
For I in range(3)
Print('我很棒')
结果为:
我很棒
我很棒
我很棒
for i in range(0,10,3):
print(i)
结果为:从0数到9(取头不取尾),步长为3。
0
3
6
9
执行循环:
d = {'小明':'醋','小红':'油','小白':'盐','小张':'米'}
for i in d:
print(i+'买'+d[i])
结果为:#i能取到字典的键,然后d[i]能取到键对应的值
小明买醋
小红买油
小白买盐
小张买米
循环语句:while
和for循环语句不同,while语句没有“空房间”,也不是“把一群排队办业务的人做完”。它是“在一定的条件下”,“按照流程办事”。
语法:
- 需要先对变量进行赋值
- 放行条件:条件后也是跟着冒号
- 办事流程:while的子句,需要注意缩进
而while的写法如下:
while a < 5: #设定一个放行条件:a要小于5,才能办事
a = a + 1 # 满足条件时,就办事:将a+1
print(a) # 继续办事:将a+1的结果打印出来
【放行条件】
例子:
password = '' # 变量password用来保存输入的密码
while password !='816': #这里的!=代表的是不等于的意思,不等于正确密码的时候,就会一直循环
password = input('请尝试输入密码:') #与计算机交互了,让用户输入密码的值复制给密码,然后不断循环
print('欢迎回家') #这里没有缩进,所以这个是跳出循环后,才打印的值。
【办事流程】
之前,我们用for循环解过“1到100分别乘以5”的题目:
for i in range(1,101):
print(i*5)
而while的写法如下:
i=1
while i<101:
print(i*5)
i=i+1
【For循环 VS While循环】
区别:循环的工作量是否确定:for循环就像空房间依次办理业务,直到把【所有工作做完】才下班。但while循环就像哨卡放行,【满足条件就一直工作】,直到不满足条件就关闭哨卡。
可理解为:若循环工作量是确定的,则用for循环(可见for循环具体案例),若循环的工作量不确定的是,就用while循环(可见输入密码案例)
共同点:把一件事情做N遍,则两者均可
例子:(以下的效果一致,但是for循环明显更简洁些)
#用for循环把诗句打印3遍
for i in range(1,4) :
print('明日复明日,明日何其多。')
#用while循环把诗句打印3遍
j = 1
while j<4 :
print ('明日何其多,明日何其多。')
j =j+1
总结如下: