概述
很高兴又和大家见面了。上一课,我们学习了两种新的数据类型: 列表与字典。
这节课,带大家来学习一下【循环】,什么是循环? 就是把一件事情一遍又一遍重复做多遍。
每个人的工作和生活中都充满了循环,比如你要在操场上跑步5圈锻炼身体,比如销售要一遍又一遍给别人介绍产品,比如高三考生高考前每天三点一线的生活。
循环,就意味着重复与无趣。尤其是工作中的重复,无聊重复的工作让我们感觉到疲惫。既然疲惫,我们就把这重复无聊的工作交给计算机,反正它又不怕累,交给它去做。
这就是人工智能能够解放人类劳动生产力的地方。 比如你需要下载100集电视剧,你不需要一集一集的下载,只需要告诉计算机全部下载,计算机就一遍又一遍的循环下载,并且最后还能把这些电视剧按照一定的规则排序。你会发现,计算机全部下载,比你一集一集的下载要快的多,这就是计算机的优势。
再比如商场里的销售员,每位客户到来,她都需要介绍一遍产品,如果今天来50位客户,她就需要介绍50遍产品。而计算机机器人,就可以通过【循环】,一遍又一遍不厌其烦的向客户介绍产品,计算机又不怕累。现在,是不是感觉”循环”不一样了。什么计算机就特别擅长做重复性工作呢? 并且是”擅长、速度快、不怕累”。
究其原理, 就是因为代码中的【循环语句】,让计算机能够重复、自动地执行命令。
Python江湖里,提供了两种循环语句, for…in循环语句与while循环语句。
下面, 我们先来看一下第一种循环语句for…in循环语句, 简称for循环。
还记得在上节课中, 我们对同学点名吗? 回顾一下点名代码。
我们为了点名, 一口气敲了20行print()函数, 我不知道大家, 反正我是敲累了。
为了解决这个事情, 通过for循环解决了上面的问题。
是不是变简单了? 把20行的代码改成了2行代码。 这就是for循环魅力,一个最简单的for循环。
先来看一下for循环的基本格式:
来,运行上图中的代码, 观察终端里的效果。
终端上依次出现了列表中的数字+取钱,对吧?这就如同去取款机取钱。
for i in [1,2,3,4,5,6]:
print(str(i)+'取钱')
#有一群人在排队取钱 , 也就是列表[1,2,3,4,5,6]
#它们中的每一个被叫号的时候(for i in),就开始轮流进去取钱。
#每一个人进去,都会把号码给计算机,然后说“取钱” , 也就是print(i+“取钱”)
#最后计算机为每一个人都提供了服务。
or循环有三个要点:1、叫号 2、一群等着取钱的人 3、办事流程
叫号
既然叫号,就得有个变量,需要存放这个号。在这里我们存放号这个变量叫做i,为什么用i呢? 在for循环里, 这个变量的专有名称叫【元素】,英文item,i是它的简称。其实,你可以给这个号码取任意名字。
你看,是不是都能打印出来?这就对了,存号用什么变量名都可以。
好了,如果这人都办完了业务, 这个ATM机里存的号是谁的?运行下面代码, 观察终端里的效果。
原来,办完业务之后, ATM机里保存着是最后一个办业务人的号码。
搞清楚这个叫号了,下面我们看一下这群排队等着取钱的人。
一群排队等着取钱的人
我们刚刚看到“一群排队等着取钱的人”,都是以列表形式:[1,2,3,4,5,6]出现。 那么还有哪些数据类型可以成为“排队取钱的人”?
小编感觉你已经猜到了, 就是字典。
运行下面代码, 观察终端里的效果。
我们用print(i)把ATM中的内容打印出来,发现i会逐渐接收字典中的每一个【键】。
那么你猜一下,哪些不属于“一群排队取钱的人”呢。
选择题
请问以下哪项的数据不能放在for i in name这个循环中:
A: name = [10,35,40,80]
B: name = 100
C: name = {'京':'北京','沪':'上海','粤':'广东'}
D: name = '黄晓明'
恭喜你答对了,选B。 B项 name=100,100只是整数,
能排队取钱的是列表与字典。是不是有些疑问?为什么'黄晓明'也可以呢?
不要怀疑,字符串也属于一群排队取钱的人。打个比方,‘黄晓明‘三个字就指的是一家三口, 但去ATM取钱时, 这家人可以一个一个进去。
你看, 是不是字符串也可以成为一群排队取钱的人。 而整数、浮点数绝对不是的,整数与浮点数排队取钱会报错的。
江湖秘籍: 字符串、列表、字典都可以是“一群排队取钱的人“。
for in name:这个循环的过程,在python江湖中称为【遍历】。
其实,遍历这个词在古代汉语中已经出现过了
只是古人遍历的是山川;而Python遍历的是字符串、列表、字典。
除了字符串、列表、字典三种数据类型,我们还可以结合其他数据遍历。
range()函数
for循环经常和range()函数一起搭配使用。
运行后, 你会看到整数0,1,2,3,4已经打印出来了。 使用range(n)函数,就可以生成一个从0到n-1的整数序列。
它还可以变形。运行下面代码,观察终端里的效果。
使用range(x,y) 函数,你可以生成从x到y-1的整数序列。
江湖秘籍:有了range()函数之后,当想把一段代码重复执行n遍时, 就可以直接使用for i in range(n)来解决问题。
for i in range(0,6):
print(i)
来练习一下:如果重复打印“每天想你第n遍”,n从0到6,你会怎么写?
for i in range(7):
print('每天想你第'+str(i)+'遍')
range()函数还有另外一种用法, 运行下面代码, 观察终端里的效果。
for i in range(0,100,11):
print(i)
你get到什么没有? 这里range(0,100,11) 的意思:从0到99(n-1)依次取数, 数与数之间的间隔为11。
for循环办事流程
我们最后来看一下for循环的第三个要点:办事流程。
for循环的办事流程,就是for循环中执行的语句。
运行一下下面代码, 观察终端里的效果。
运行一下,打印出 3 , 6, 9 。
在这里print(i*3)就是办事流程, 都是print(i*3)。在当从i=1的情况下开始执行print(i*3),一直执行到i=3把所有人的业务都办完。
办事流程的专名叫【for的循环体】:格式是【冒号】后另起一行,【缩进】写命令。
格式对于编程来说,是件特别需要注意的事情。不要大意失荆州哦。再强调一下for循环的格式:
好了,到这里就掌握了for循环的用法。你尝试下使用for循环该如何操作?试一下。
city = {'北京':'美美','上海':'跃升','广州':'小天'}
for i in [1,3,6]:
print(i+1)
你做对了吗?
到这里for循环就讲完了, 一起回顾一下。
好了,我们学习了for循环, 下面来学习一下另外一种循环:while循环。
While循环
先和while循环混个脸熟,看一下while循环的颜值
你猜一猜,上图代码运行之后,会有什么结果?
x = 0
while x < 6:
x = x+1
print(x)
是不是1,2,3,4,5,6依次打印出现?
它和for循环不同,它不叫号,也不是把一群排队等着取钱的人的业务做完。它是在“一定条件下“,”按流程办事”。
显然,while循环只需要两个步骤:1、设定条件 2、办事流程
while循环:设定条件
while循环在英文中表示“当”, while后面跟条件,当满足条件时,才会执行while内部的循环体。
所以,while循环类似于高速上的收费站:只要你满足条件,那你就可以一遍又一遍循环“按流程办事”。
在上面例子中,只要满足条件x<6, 就会不停的执行x=x+1,print(x+1)打印出来,直到不满足条件后,就停止办事流程。
同样,while循环也有代码规范。
江湖秘籍:冒号还是英文输入法下的冒号哦。
刚才黄晓明家的Angelababy去取钱,需要输密码,只要密码输入错误,ATM就会一直让她输密码,如果密码输入正确,就会显示银行卡余额。银行卡的密码是520666。
这段代码,我先写出来,你运行一下。
pwd = '' # 注:这个''代表空字符串
while pwd != '520666':
pwd = input('请输入银行卡密码:')
print('卡内还有999999999999元~')
感受到while循环的逻辑没有,是不是很简单
这里 pwd!=520666就是while循环设定的条件, 只要满足这个条件,就会一直执行while循环里面的循环体pwd = input('请输入银行卡密码:')。
好了,接下来我们看看while循环的第二个要点:办事流程。
while循环:办事流程
while循环,在满足设定条件后,会一遍又一遍的循环执行办事流程。
来道题,看看大家如何理解while循环的:
a=0
while a<4:
a = a+1
print(a)
观察上面代码,如果运行代码,终端中的结果是?
A: 5
B: 4
C: 1,2,3,4依次出现
rint(a)这句代码没有缩进,不在while循环中,所以print(a)只会打印最后一次的内容,即为4。
所以说,你要看好,while 设定条件:后面的循环体语句必须缩进,只有缩进了才是while循环的循环体,才能一遍又一遍的执行。
好了,我们运行下面代码, 观察终端里的效果。
print("while循环内")
print(a)
print("while循环外")
好了,到这里,while循环的知识学完了。
现在,我们 已经学习了for循环与while循环,下面,我们对比一下,两个循环有什么区别。
for循环与while循环对比
for循环和while循环最大的区别就是在于【循环的工作量是否确定】,for循环就像ATM依次取钱一样,直到把所有人的钱都取完才下班。但是while循环就像收费站一样,只要【满足条件】就干活,不满足条件不干活。
把‘黄晓明‘拆成一个一个字符,这件事属于【循环的工作量已经确定】。
而对于输入密码,判断是否正确这件事,我们也不知道Angelababy输几次密码才能搞定呀。
江湖秘籍:看下图,保存好,当以后行走江湖遇到for循环与while循环的时候,再看看。
最后
以上就是虚幻手套为你收集整理的python中for循环和while循环的区别_零基础学编程python第十课,for……in循环语句与while循环语句...的全部内容,希望文章能够帮你解决python中for循环和while循环的区别_零基础学编程python第十课,for……in循环语句与while循环语句...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复