前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >让你彻底弄懂【python循环语句】

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

作者头像
阿黎逸阳
发布2021-10-20 10:42:04
1.6K0
发布2021-10-20 10:42:04
举报
文章被收录于专栏:阿黎逸阳的代码

彻底弄清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循环的基本语法规则如下:

代码语言:javascript
复制
for var in sequence:
   statements(s)

即从序列(sequence)中依次取出一个元素(var),并执行代码块中的语句(statements),通常语句和元素有关。

为了更清晰地理解,下面看几个不同的例子。

2 for循环实例1

首先来看一个输出打印吃东西的例子。

代码语言:javascript
复制
sequence = ['橙子', '榴莲', '草莓', '蓝莓', '西柚', '葡萄', '西瓜']
i = 1
for var in sequence:
    print(i)
    print('今天晚上吃什么?今天晚上吃', var,  '。', sep='')
    i += 1

代码的运行逻辑是:依次从sequence中取出变量,运行循环语句中的代码块。

代码块首先打印i的值,再打印第二个print语句,最后把i的值加1。

得到结果:

代码语言:javascript
复制
1
今天晚上吃什么?今天晚上吃橙子。
2
今天晚上吃什么?今天晚上吃榴莲。
3
今天晚上吃什么?今天晚上吃草莓。
4
今天晚上吃什么?今天晚上吃蓝莓。
5
今天晚上吃什么?今天晚上吃西柚。
6
今天晚上吃什么?今天晚上吃葡萄。
7
今天晚上吃什么?今天晚上吃西瓜。

3 for循环实例2

for循环经常和range函数结合使用,range常见的有如下三种用法:

代码语言:javascript
复制
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(步长)

为了更清晰地理解,下面看几个例子。

代码语言:javascript
复制
for i in range(10):
    print('英文外刊阅读打卡第%d天'%(i))

得到结果:

代码语言:javascript
复制
英文外刊阅读打卡第0天
英文外刊阅读打卡第1天
英文外刊阅读打卡第2天
英文外刊阅读打卡第3天
英文外刊阅读打卡第4天
英文外刊阅读打卡第5天
英文外刊阅读打卡第6天
英文外刊阅读打卡第7天
英文外刊阅读打卡第8天
英文外刊阅读打卡第9天

可以发现range(10)默认从0到9步长为1。

一般阅读打卡是从第一天开始,只需把range函数做如下调整即可:

代码语言:javascript
复制
for i in range(1, 10):
    print('英文外刊阅读打卡第%d天'%(i))

得到结果:

代码语言:javascript
复制
英文外刊阅读打卡第1天
英文外刊阅读打卡第2天
英文外刊阅读打卡第3天
英文外刊阅读打卡第4天
英文外刊阅读打卡第5天
英文外刊阅读打卡第6天
英文外刊阅读打卡第7天
英文外刊阅读打卡第8天
英文外刊阅读打卡第9天

如果想把range函数设计成公差大于1的等差数列,只需在range中加第三个参数即可。

4 for循环实例3

for循环还可以和else函数搭配使用,具体如下:

代码语言:javascript
复制
for i in range(1, 10):
    print('英文外刊阅读打卡第%d天'%(i))
else:
    print('今天休息')

得到结果:

代码语言:javascript
复制
英文外刊阅读打卡第1天
英文外刊阅读打卡第2天
英文外刊阅读打卡第3天
英文外刊阅读打卡第4天
英文外刊阅读打卡第5天
英文外刊阅读打卡第6天
英文外刊阅读打卡第7天
英文外刊阅读打卡第8天
英文外刊阅读打卡第9天
今天休息

从结果可以发现else是在所有循环运行完之后运行的语句。

二、while循环

while循环和for循环类似,当条件为真时,执行循环体中的语句。来看一个很简单的实例,当i小于5时,执行循环体中的语句。

代码语言:javascript
复制
i = 0
while i<5:
    print(i)
    i = i +1

得到结果:

代码语言:javascript
复制
0
1
2
3
4

三、break、continue语句的使用

python循环语句经常和break、continue语句搭配使用。break语句表示结束本次循环,continue语句表示跳出本次循环,进入下一次循环。

接下来以一个集体游戏阐述break和continue语句的使用方法。

在团队聚餐时,可以玩一个这样的游戏。第一个人随机报一个20以内的数,后面的人根据第一个人报的数依次报数。

如果碰到7的倍数或末尾带7的数,就要拍一下桌子或者拍一下手,其余数字则正常报数。

如果弄错了,就要表演节目,并且游戏重新开始。

接下来看下结合break语句的python模拟语句。

代码语言:javascript
复制
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时结束循环,否则输出这个数字。

得到结果:

代码语言:javascript
复制
19
20
拍桌子或拍手
22
23
24
25
26
拍桌子或拍手
拍桌子或拍手
29
30
31
32
33
34
拍桌子或拍手
36
拍桌子或拍手
38
39
40

最后来看下结合continue语句的python模拟语句。

代码语言:javascript
复制
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时跳出本次循环,进入下一次循环。

得到结果:

代码语言:javascript
复制
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中的循环语句已讲解完毕,感兴趣的朋友可以自己跟着本文实现一遍

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-10-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 阿黎逸阳的代码 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档