让你彻底弄懂【python循环语句】

彻底弄清python中的循环语句是一件令人头大的事,我也不例外
经过反复使用后,就能得心应手了。
本文和你一起探索python中的循环语句,让你从此告别被循环困扰的烦恼。
本文目录

1 for循环

     1.1 for循环基本语法

     1.2 for循环实例1

     1.3 for循环实例2

     1.4 for循环实例3

2 while循环

3 break、continue语句的使用


一、for循环

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
代码的运行逻辑是:依次从sequence中取出变量,运行循环语句中的代码块。
代码块首先打印i的值,再打印第二个print语句,最后把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是在所有循环运行完之后运行的语句。


二、while循环
while循环和for循环类似,当条件为真时,执行循环体中的语句。看一个很简单的实例,当i小于5时执行循环体中的语句。
i = 0while i<5:    print(i)    i = i +1

得到结果:

01234


三、break、continue语句的使用

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时结束循环,否则输出这个数字。

得到结果:

1920拍桌子或拍手2223242526拍桌子或拍手拍桌子或拍手293031323334拍桌子或拍手36拍桌子或拍手383940

最后来看下结合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时跳出本次循环,进入下一次循环。

得到结果:

111213拍桌子或拍手1516拍桌子或拍手181920拍桌子或拍手2223242526拍桌子或拍手拍桌子或拍手2931323334拍桌子或拍手36拍桌子或拍手383940

从结果可以发现,在num等于30时既没有打印数字,也没有输出拍桌子或拍手。

即跳出了本次循环,进入了下一次循环。

至此,python中的循环语句已讲解完毕,感兴趣的朋友可以自己跟着本文实现一遍

往期回顾:

情人节表白烟花

520表白代码合集
黑客帝国中的代码雨
用python绘制皮卡丘
娱乐圈排行榜动态条形图绘制
Python人脸识别—我的眼里只有你
3D星空图V2版——添加背景图片和音乐


扫一扫关注我

13162366985

投稿微信号、手机号

请使用浏览器的分享功能分享到微信等