。1 for循环
1.1 for循环基本语法
1.2 for循环实例1
1.3 for循环实例2
1.4 for循环实例3
2 while循环
3 break、continue语句的使用

for循环用于遍历一个容器对象中的所有元素,循环语句段会针对容器对象的每一个元素都执行一次。
1 for循环基本语法
for循环的基本语法规则如下:
for var in sequence:statements(s)
即从序列(sequence)中依次取出一个元素(var),并执行代码块中的语句(statements),通常语句和元素有关。
2 for循环实例1
首先来看一个输出打印吃东西的例子。
sequence = ['橙子', '榴莲', '草莓', '蓝莓', '西柚', '葡萄', '西瓜']i = 1for var in sequence:print(i)print('今天晚上吃什么?今天晚上吃', var, '。', sep='')i += 1
1今天晚上吃什么?今天晚上吃橙子。2今天晚上吃什么?今天晚上吃榴莲。3今天晚上吃什么?今天晚上吃草莓。4今天晚上吃什么?今天晚上吃蓝莓。5今天晚上吃什么?今天晚上吃西柚。6今天晚上吃什么?今天晚上吃葡萄。7今天晚上吃什么?今天晚上吃西瓜。
3 for循环实例2
for循环经常和range函数结合使用,range常见的有如下三种用法:
range(num): 0 到 num-1 默认步长为1range(start_num, end_num): start_num 到 end_num-1 默认步长为1range(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中加第三个参数即可。
4 for循环实例3
for循环还可以和else函数搭配使用,具体如下:
for i in range(1, 10):print('英文外刊阅读打卡第%d天'%(i))else:print('今天休息')
得到结果:
英文外刊阅读打卡第1天英文外刊阅读打卡第2天英文外刊阅读打卡第3天英文外刊阅读打卡第4天英文外刊阅读打卡第5天英文外刊阅读打卡第6天英文外刊阅读打卡第7天英文外刊阅读打卡第8天英文外刊阅读打卡第9天今天休息
从结果可以发现else是在所有循环运行完之后运行的语句。

i = 0while i<5:print(i)i = i +1
得到结果:
01234

python循环语句经常和break、continue语句搭配使用。break语句表示结束本次循环,continue语句表示跳出本次循环,进入下一次循环。
接下来以一个集体游戏阐述break和continue语句的使用方法。
在团队聚餐时,可以玩一个这样的游戏。第一个人随机报一个20以内的数,后面的人根据第一个人报的数依次报数。
如果碰到7的倍数或末尾带7的数,就要拍一下桌子或者拍一下手,其余数字则正常报数。
如果弄错了,就要表演节目,并且游戏重新开始。
接下来看下结合break语句的python模拟语句。
import randomnum = random.randint(1,20)while True:if num>40:breakelif num%7==0 or str(num)[-1] == '7':print('拍桌子或拍手')else:print(num)num = num +1
该语句指的是随机生成一个1到20以内的整数,如果这个数是7的倍数或最末尾的数是7,则输出拍桌子或拍手。
当这个数大于40时结束循环,否则输出这个数字。
得到结果:
1920拍桌子或拍手2223242526拍桌子或拍手拍桌子或拍手293031323334拍桌子或拍手36拍桌子或拍手383940
最后来看下结合continue语句的python模拟语句。
import randomnum = random.randint(1,20)while num<=40:if num==30:num += 1continueelif num%7==0 or str(num)[-1] == '7':print('拍桌子或拍手')else:print(num)num = num +1
由于没有使用break语句了,所以while循环没有设置成死循环,当num小于40时进行该循环。
只有当num等于30时跳出本次循环,进入下一次循环。
得到结果:
111213拍桌子或拍手1516拍桌子或拍手181920拍桌子或拍手2223242526拍桌子或拍手拍桌子或拍手2931323334拍桌子或拍手36拍桌子或拍手383940
从结果可以发现,在num等于30时既没有打印数字,也没有输出拍桌子或拍手。
即跳出了本次循环,进入了下一次循环。
至此,python中的循环语句已讲解完毕,感兴趣的朋友可以自己跟着本文实现一遍
。


扫一扫关注我
13162366985
投稿微信号、手机号