开始

for…in…循环语句

例:
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)#结果12345事情全部办完了!现在留在空房间里的人是谁?5
for循环:一群排队办业务的人
例:
dict = {'日本':'东京','英国':'伦敦','法国':'巴黎'}for i in dict: print(i)#结果:日本英国法国
例:字符串
for i in '吴承恩': print(i)#结果:吴承恩
range()函数
例:
# 请直接运行代码for i in range(3): print(i)#结果012
例:
for i in range(13,17): print(i)#结果13141516
有了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)#结果:0369

例:用for循环完成1到100的整数分别乘以5的计算,并打印出来
# 用for循环完成1-100分别乘以5的计算for i in range(1,101): print(i*5)
for循环:办事流程


例:假设你要做大采购,让小明买醋,小红买油,小白买盐,小张买米;我们先把这堆事情写成一个字典:d = {'小明':'醋','小红':'油','小白':'盐','小张':'米'},如果我们把这四个人要买的东西依次print出来,要写4句print语句:
d = {'小明':'醋','小红':'油','小白':'盐','小张':'米'}for i in d: print(d[i])#结果:醋油盐米
while循环

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

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 = 1while 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 = 1while j<4 : print ('明日何其多,明日何其多。') j =j+1
练习:
打印1-7,但是不打印4
# while 循环n = 0while 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']