Basics_06 for和while循环

一、for…in…循环,它也被简称为for循环

先来下图中的示例代码:

for i in [1,2,3,4,5]:    #i是“空房间”
   print(i)

运行结果:
1
2
3
4
5

终端上依次出现了列表里的所有数字,对吧?我们用大白话来打个比方,以便更好地理解这段代码的意义:

#有一群数字在排队办业务,也就是列表[1,2,3,4,5]
#它们中的每一个被叫到号的时候(for i in),就轮流进去一个空房间办业务
#每一个数字进去房间之后,都对计算机说:“喂,我要办这个业务:帮忙把我自己打印出来”,也就是print(i)
#然后计算机忠实的为每一个数字提供了打印服务,将1,2,3,4,5都打印在了屏幕上

空房间的学名叫【元素】(item),你可以把它当成是一个变量。那么首先,我们需要给房间取一个名字,也就是“变量名”

为什么总是用i?因为英文是item,所以i是常用名嘛。但其实你给这个房间取什么名字都行

刚刚看到的“一群排队办业务的人”,都是以列表的形式出现:[1,2,3,4,5],还有一种是就是字典

dict = {'日本':'东京','英国':'伦敦','法国':'巴黎'}
    
for i in dict:
    print(i)
    
#运行结果:
日本
英国
法国

print(i)把“空房间”i打印了出来,发现i会逐个接待字典中的每一个【键】

range()函数

for i in range(3):
    print(i)
   
运行结果:
0
1
2

运行后,你看到了整数0,1,2,是不是?使用range(x)函数,就可以生成一个从0到x-1的整数序列

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

运行结果:
13
14
15
16

使用range(a,b) 函数,你可以生成了一个【取头不取尾】的整数序列

range()函数还有一种用法,直接来体验下

for i in range(0,10,3):
    print(i)

运行结果:
0
3
6
9

你观察出规律了么?这里range(0,10,3)的意思是:从0数到9(取头不取尾),数数的间隔为3

假设你要做大采购,让小明买醋,小红买油,小白买盐,小张买米;我们先把这堆事情写成一个字典:d = {‘小明’:‘醋’,‘小红’:‘油’,‘小白’:‘盐’,‘小张’:‘米’ }
如果我们把这四个人要买的东西依次print出来,要写4句print语句,看下例

d={'小明':'醋','小红':'油','小白':'盐','小张':'米'}
print(d['小明'])    #打印出  醋
print(d['小红'])    #打印出  油
print(d['小白'])    #打印出  盐
print(d['小张'])    #打印出  米

使用for循环代替以上重复代码:

d = {'小明':'醋','小红':'油','小白':'盐','小张':'米'}
    
for ha in d:
    print(d[ha])
 
运行结果:
醋
油
盐
米

while循环

先来看看while循环长啥样

a = 0			#先定义变量a,并赋值
while a < 5:	#设定一个放行条件:a要小于5,才能办事
    a = a + 1	# 满足条件时,就办事:将a+1
    print(a)	# 继续办事:将a+1的结果打印出来 
 
 运行结果:
 1
 2
 3
 4
 5

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

很明显,while循环有2个要点:1.放行条件;2.办事流程。咱们先看第一个

while循环:放行条件

while在英文中表示“当”,while后面跟的是一个条件。当条件被满足时,就会循环执行while内部的代码(while子句)

所以while循环本质上像是一个哨卡:只要事情符合条件,那就一遍又一遍的“按流程办事”

就像在上面的例题中,只要a<5这个条件成立,就不停地办事(把a+1的结果打印出来),直到条件不成立,办事流程就停止

来个案例说明:
你家的大门是密码门,密码是你的生日816。当输入密码错误的时候,会提示“请尝试输入密码:”。直到密码输入正确,就会提示“欢迎回家!”

password = ' ' # 变量password用来保存输入的密码

while password != '816':  #当密码不等于816时,就一直循环
    password=input('请尝试输入密码:')
print('欢迎回家!')

两种循环对比

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

所以说,当我们【工作量确定】的时候,我们就可以让for循环来完成重复性工作。
反之,要【工作量不确定时】可以让while循环来工作

来个练习题

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

students = ['小明','小红','小刚']
for i in range(3):
    student1 = students.pop(0)  # 运用pop()函数,同时完成提取和删除。
    students.append(student1)  # 将移除的student1安排到最后一个座位。
    print(students)
    
运行结果:
['小红', '小刚', '小明']
['小刚', '小明', '小红']
['小明', '小红', '小刚']
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

法海爱捉虫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值