开始
![image.png](/uploads/projects/jitangshaobing@mfgp3o/f26ebdbbc83d6a88de7f310d57b95725.png)
for…in…循环语句
![image.png](/uploads/projects/jitangshaobing@mfgp3o/5433bd74c333c0c72e2c24e44fb0b35b.png)
例:
for i in [1,2,3,4,5]:
print(i)
#有一群数字在排队办业务,也就是列表[1,2,3,4,5]
#它们中的每一个被叫到号的时候(for i in),就轮流进去一个空房间办业务
#每一个数字进去房间之后,都对计算机说:“喂,我要办这个业务:帮忙把我自己打印出来”,也就是print(i)
#然后计算机忠实的为每一个数字提供了打印服务,将1,2,3,4,5都打印在了屏幕上
for循环:空房间
空房间的学名叫【元素】(item),你可以把它当成是一个变量。那么首先,我们需要给房间取一个名字,也就是“变量名”。
例:
for i in [1,2]:
print(i)
for number in [1,2]:
print(number)
for LOVE in [1,2]:
print(LOVE)
例:在for循环结束之后,我们还能使用这个房间,不过这时候房间里的人是谁呢?
for i in [1,2,3,4,5]:
print(i)
print('事情全部办完了!现在留在空房间里的人是谁?')
print(i)
#结果
1
2
3
4
5
事情全部办完了!现在留在空房间里的人是谁?
5
for循环:一群排队办业务的人
例:
dict = {'日本':'东京','英国':'伦敦','法国':'巴黎'}
for i in dict:
print(i)
#结果:
日本
英国
法国
例:字符串
for i in '吴承恩':
print(i)
#结果:
吴
承
恩
range()函数
例:
# 请直接运行代码
for i in range(3):
print(i)
#结果
0
1
2
例:
for i in range(13,17):
print(i)
#结果
13
14
15
16
有了range()
函数之后,当你想把一段代码固定重复n次时,就可以直接使用for i in range(n)
解决问题。
例:
for i in range(3):
print('我很棒')
#结果
我很棒
我很棒
我很棒
例:如果你要重复打印“书桓走的第n天,想他”,n为0到10,你会怎么写?
for i in range(11):
print('书恒走的第'+str(i)+'天,想他')
例:range(0,10,3)
的意思是:从0数到9(取头不取尾),数数的间隔为3
for i in range(0,10,3):
print(i)
#结果:
0
3
6
9
![image.png](/uploads/projects/jitangshaobing@mfgp3o/6e6c32ca1a21f0cd70a9074bb2225f52.png)
例:用for循环完成1到100的整数分别乘以5的计算,并打印出来
# 用for循环完成1-100分别乘以5的计算
for i in range(1,101):
print(i*5)
for循环:办事流程
![image.png](/uploads/projects/jitangshaobing@mfgp3o/72f31f089302233071572b11ff53f1e9.png)
![image.png](/uploads/projects/jitangshaobing@mfgp3o/0c12917171938e703fa9ccf151da9f40.png)
例:假设你要做大采购,让小明买醋,小红买油,小白买盐,小张买米;我们先把这堆事情写成一个字典:d = {'小明':'醋','小红':'油','小白':'盐','小张':'米'}
,如果我们把这四个人要买的东西依次print出来,要写4句print语句:
d = {'小明':'醋','小红':'油','小白':'盐','小张':'米'}
for i in d:
print(d[i])
#结果:
醋
油
盐
米
while循环
![image.png](/uploads/projects/jitangshaobing@mfgp3o/69f889f1e777c6db2f826abfdf996ede.png)
例:
#请直接运行代码
a = 0 #先定义变量a,并赋值
while a < 5: #设定一个放行条件:a要小于5,才能办事
a = a + 1 # 满足条件时,就办事:将a+1
print(a) # 继续办事:将a+1的结果打印出来
#结果:
1
2
3
4
5
![image.png](/uploads/projects/jitangshaobing@mfgp3o/f14232c8f529bb98fabb2f4fc273fb64.png)
while循环:放行条件
while在英文中表示“当”,while后面跟的是一个条件。当条件被满足时,就会循环执行while内部的代码(while子句)。
例:小龙女(古墓派掌门人)自小在终南山上的古墓里生活。这个门派有个规定,除非有男人愿意为掌门人死,否则掌门人永远不能出墓门半步。
man = '' # 注:这个''代表空字符串
while man != '有':
man = input('有没有愿意为小龙女死的男人?没有的话就不能出古墓。')
print('小龙女可以出古墓门下山啦~')
例:你家的大门是密码门,密码是你的生日816。当输入密码错误的时候,会提示“请尝试输入密码:”。直到密码输入正确,就会提示“欢迎回家!”。
password = '' # 变量password用来保存输入的密码
while password != '816':
password = input('请尝试输入密码:')
print('欢迎回家!')
while循环:办事流程
例:1到100分别乘以5
i = 1
while i<101 :
print (i*5)
i = i+1
两种循环对比
for循环和while循环最大的区别在于【循环的工作量是否确定】,for循环就像空房间依次办理业务,直到把【所有工作做完】才下班。但while循环就像哨卡放行,【满足条件就一直工作】,直到不满足条件就关闭哨卡。
# 适合用for...in...循环
for i in '神雕侠侣':
print(i)
# 适合用while循环
password = ''
while password != '816':
password = input('请尝试输入密码:')
例:把一件事情做N遍
# 直接运行代码即可
#用for循环把诗句打印3遍
for i in range(1,4) :
print('明日复明日,明日何其多。')
#用while循环把诗句打印3遍
j = 1
while j<4 :
print ('明日何其多,明日何其多。')
j =j+1
练习:
打印1-7,但是不打印4
# while 循环
n = 0
while n < 7:
n = n+1
if n != 4: # 当num != 4,执行打印语句;等于4时不打印。
print(n)
# for 循环
for num in range(1,8): # 为同时能运行两个循环,新取参数 num。
if num != 4: # 当num != 4,执行打印语句;等于4时不打印。
print(num)
小明、小红、小刚是同班同学,且坐在同一排,分别坐在第一位、第二位、第三位。由于他们的身高都差不多,所以,老师计划让他们三个轮流坐在第一位。每次换座位的时候,第一位变第三位,后面两位都往前一位。
students = ['小明','小红','小刚']
for i in range(3):
student1 = students[0] # 获取第一个座位的学生 student1
students = students[1:] # 让 student1 暂时离开,后面的学生座位都进一位。
students.append(student1) # 将 student1 安排到最后一个座位
print(students)
students = ['小明','小红','小刚']
for i in range(3):
student1 = students.pop(0) # 运用pop()函数,同时完成提取和删除。
students.append(student1) # 将移除的student1安排到最后一个座位。
print(students)
print('提取只取不删:')
list1 = ['0','1','2','3']
print(list1[3])
print(list1)
print('\n删除(del)只删不取:' )
list1 = ['0','1','2','3']
del list1[3]
print(list1)
print('\n移除(pop)又取又删:')
list1 = ['0','1','2','3']
print(list1.pop()) # 默认删除最后一个元素,并返回该元素的值。
print(list1)
print(list1.pop(0)) # 也可指定删除某个元素,并返回该元素的值。
print(list1)
#结果
提取只取不删:
3
['0', '1', '2', '3']
删除(del)只删不取:
['0', '1', '2']
移除(pop)又取又删:
3
['0', '1', '2']
0
['1', '2']