彻底弄清python中的循环语句是一件令人头大的事,我也不例外图片。经过反复使用后,就能得心应手了。本文和你一起探索python中的循环语句,让你从此告别被循环困扰的烦恼。
一、for循环
for循环用于遍历一个容器对象中的所有元素,循环语句段会针对容器对象的每一个元素都执行一次。
for循环的基本语法规则如下:
for var in sequence: statements(s)
即从序列(sequence)中依次取出一个元素(var),并执行代码块中的语句(statements),通常语句和元素有关。为了更清晰地理解,下面看几个不同的例子。
首先来看一个输出打印吃东西的例子。
sequence = ['橙子', '榴莲', '草莓', '蓝莓', '西柚', '葡萄', '西瓜'] i = 1 for var in sequence: print(i) print('今天晚上吃什么?今天晚上吃', var, '。', sep='') i += 1
代码的运行逻辑是:依次从sequence中取出变量,运行循环语句中的代码块。代码块首先打印i的值,再打印第二个print语句,最后把i的值加1。
得到结果:
1 今天晚上吃什么?今天晚上吃橙子。 2 今天晚上吃什么?今天晚上吃榴莲。 3 今天晚上吃什么?今天晚上吃草莓。 4 今天晚上吃什么?今天晚上吃蓝莓。 5 今天晚上吃什么?今天晚上吃西柚。 6 今天晚上吃什么?今天晚上吃葡萄。 7 今天晚上吃什么?今天晚上吃西瓜。
3 for循环实例2
for循环经常和range函数结合使用,range常见的有如下三种用法:
range(num): 0 到 num-1 默认步长为1 range(start_num, end_num): start_num 到 end_num-1 默认步长为1 range(start_num, end_num, step): start_num 到 end_num-1 step(步长)
为了更清晰地理解,下面看几个例子。
for i in range(10): print('英文外刊阅读打卡第%d天'%(i))
得到结果:
英文外刊阅读打卡第0天 英文外刊阅读打卡第1天 英文外刊阅读打卡第2天 英文外刊阅读打卡第3天 英文外刊阅读打卡第4天 英文外刊阅读打卡第5天 英文外刊阅读打卡第6天 英文外刊阅读打卡第7天 英文外刊阅读打卡第8天 英文外刊阅读打卡第9天 可以发现range(10)默认从0到9步长为1。
一般阅读打卡是从第一天开始,只需把range函数做如下调整即可:
for i in range(1, 10): print('英文外刊阅读打卡第%d天'%(i))
得到结果:
英文外刊阅读打卡第1天 英文外刊阅读打卡第2天 英文外刊阅读打卡第3天 英文外刊阅读打卡第4天 英文外刊阅读打卡第5天 英文外刊阅读打卡第6天 英文外刊阅读打卡第7天 英文外刊阅读打卡第8天 英文外刊阅读打卡第9天
如果想把range函数设计成公差大于1的等差数列,只需在range中加第三个参数即可。
for循环还可以和else函数搭配使用,具体如下:
for i in range(1, 10): print('英文外刊阅读打卡第%d天'%(i)) else: print('今天休息')
得到结果:
英文外刊阅读打卡第1天 英文外刊阅读打卡第2天 英文外刊阅读打卡第3天 英文外刊阅读打卡第4天 英文外刊阅读打卡第5天 英文外刊阅读打卡第6天 英文外刊阅读打卡第7天 英文外刊阅读打卡第8天 英文外刊阅读打卡第9天 今天休息
从结果可以发现else是在所有循环运行完之后运行的语句。
while循环和for循环类似,当条件为真时,执行循环体中的语句。来看一个很简单的实例,当i小于5时,执行循环体中的语句。
i = 0 while i<5: print(i) i = i +1
得到结果:
0 1 2 3 4
python循环语句经常和break、continue语句搭配使用。break语句表示结束本次循环,continue语句表示跳出本次循环,进入下一次循环。接下来以一个集体游戏阐述break和continue语句的使用方法。在团队聚餐时,可以玩一个这样的游戏。第一个人随机报一个20以内的数,后面的人根据第一个人报的数依次报数。如果碰到7的倍数或末尾带7的数,就要拍一下桌子或者拍一下手,其余数字则正常报数。如果弄错了,就要表演节目,并且游戏重新开始。
接下来看下结合break语句的python模拟语句。
import random num = random.randint(1,20) while True: if num>40: break elif num%7==0 or str(num)[-1] == '7': print('拍桌子或拍手') else: print(num) num = num +1
该语句指的是随机生成一个1到20以内的整数,如果这个数是7的倍数或最末尾的数是7,则输出拍桌子或拍手。当这个数大于40时结束循环,否则输出这个数字。
得到结果:
19 20 拍桌子或拍手 22 23 24 25 26 拍桌子或拍手 拍桌子或拍手 29 30 31 32 33 34 拍桌子或拍手 36 拍桌子或拍手 38 39 40
最后来看下结合continue语句的python模拟语句。
import random num = random.randint(1,20) while num<=40: if num==30: num += 1 continue elif num%7==0 or str(num)[-1] == '7': print('拍桌子或拍手') else: print(num) num = num +1
由于没有使用break语句了,所以while循环没有设置成死循环,当num小于40时进行该循环。只有当num等于30时跳出本次循环,进入下一次循环。
得到结果:
11 12 13 拍桌子或拍手 15 16 拍桌子或拍手 18 19 20 拍桌子或拍手 22 23 24 25 26 拍桌子或拍手 拍桌子或拍手 29 31 32 33 34 拍桌子或拍手 36 拍桌子或拍手 38 39 40
从结果可以发现,在num等于30时既没有打印数字,也没有输出拍桌子或拍手。即跳出了本次循环,进入了下一次循环。
至此,python中的循环语句已讲解完毕,感兴趣的朋友可以自己跟着本文实现一遍。
你可能感兴趣:
用Python绘制皮卡丘
用Python绘制词云图
Python人脸识别—我的眼里只有你
Python画好看的星空图(唯美的背景)
【Python】情人节表白烟花(带声音和文字)
用Python中的py2neo库 *** 作neo4j,搭建关联图谱
Python浪漫表白源码合集(爱心、玫瑰花、照片墙、星空下的告白)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)