让你彻底弄懂python循环语句
Posted 阿黎逸阳
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了让你彻底弄懂python循环语句相关的知识,希望对你有一定的参考价值。
彻底弄清python中的循环语句是一件令人头大的事,我也不例外图片。经过反复使用后,就能得心应手了。本文和你一起探索python中的循环语句,让你从此告别被循环困扰的烦恼。
一、for循环
for循环用于遍历一个容器对象中的所有元素,循环语句段会针对容器对象的每一个元素都执行一次。
1 for循环基本语法
for循环的基本语法规则如下:
for var in sequence:
statements(s)
即从序列(sequence)中依次取出一个元素(var),并执行代码块中的语句(statements),通常语句和元素有关。为了更清晰地理解,下面看几个不同的例子。
2 for循环实例1
首先来看一个输出打印吃东西的例子。
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中加第三个参数即可。
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 = 0
while i<5:
print(i)
i = i +1
得到结果:
0
1
2
3
4
三、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时结束循环,否则输出这个数字。
得到结果:
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浪漫表白源码合集(爱心、玫瑰花、照片墙、星空下的告白)
以上是关于让你彻底弄懂python循环语句的主要内容,如果未能解决你的问题,请参考以下文章