让你彻底弄懂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)默认从09步长为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和建模知识,让你的学习和工作更出彩。

以上是关于让你彻底弄懂python循环语句的主要内容,如果未能解决你的问题,请参考以下文章

让你彻底弄懂指针引用与const

这次我让你彻底弄懂 RESTful

操作系统之文件管理,万字长文让你彻底弄懂

画图带你彻底弄懂三级缓存和循环依赖的问题

一文让你彻底弄懂 “vue-style-loader” 跟 “style-loader” 区别

力扣234. 回文链表 一题五解让你彻底弄懂链表!反转链表法栈法双指针法快慢指针法递归法