首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何学python 第八课 流程控制-For,While,循环语句,函数

如何学python 第八课 流程控制-For,While,循环语句,函数

作者头像
用户1631416
发布2018-04-12 10:07:55
1.2K0
发布2018-04-12 10:07:55
举报
文章被收录于专栏:玄魂工作室玄魂工作室
循环语句

也许你会问,什么是‘循环’?在脚本程序里,循环就是‘在一定情况下一次又一次的执行某些代码’。举个例子来说,假设你很饿,桌上有好多好多个馒头,当你依旧饿的时候,你就会一次又一次的吃馒头。这整个吃过程叫做一个循环(loop),每吃一次的过程叫做一次迭代(iteration)。某些人把loop和iteration都翻译做循环,其实他们是有差异的,就像method和function(method和function的差异还没这么大)。

在正式介绍循环语句之前,我们先学点预备知识。

函数

什么是函数?这是一个不太好回答的问题。我们暂且把函数理解为‘我们传递一些消息进去,就可以获取一些返回信息’的这么一个东西。以下这两个函数将时常和循环一起使用:

range()

len()

我们先介绍一下range()函数。range()函数的返回值取决于我们传给它的参数。Range()函数可以支持1到3个参数,分别会有不同的效果。如果你想知道放上三个参数会有什么效果,可以参考一下这篇文章,写的很不错:

http://www.cnblogs.com/kaituorensheng/archive/2013/01/05/2845524.html

这里我们先使用两个参数的range()函数进行演示,稍后演示一个参数的range()。两个参数的range函数会把第一个参数作为下界,第二个参数作为上界,返回一个含有数值类型的列表:

注意,range函数会包含下界,但不包含上界:

如果我们只给range函数传递一个参数,那么range函数会把下界默认设定成0,把我们传递进去的参数设定为上界。

下面我们来看看len()函数。在本文章的后半部分,我们会使用下面这个变量来辅助演示:

len()函数十分简单。它接收一个变量的名称作为参数,然后返回这个变量的长度,无论这个变量是string类型,list类型亦或是dictionary类型(稍后介绍)。使用演示如下:

我们可以看到,len函数返回了test变量里的元素个数。

现在,让我们把上面那个混起来用试试看:

这看起来可能没什么用。但是,如果你还记得上节课的内容的话,你会发现返回的值恰好是我们的test列表的索引值。这给我们操作特定变量的时候特别的有用。

好了,热身完毕,我们现在开始讲循环。首先从for说起。

For 循环

For循环的厉害之处就在于它可以简便的操纵list里的所有值。另外,for在执行的时候只会循环一次,这也意味着列表结束的时候循环也就结束了。我们先看看它是怎么工作的:

i会再循环的进行过程中,按照顺序,分别取上test列表里的每一个列表项的值,每取一次,就执行一次print i;取过一遍之后,循环也就结束了。现在我们换一种方法实现以上功能:

通过range()与len()的组合,我们实现了和上面完全一样d功能。虽然出处依然没有变化,但是我们现在可以操纵list里的每一个值了。

我们来看看另一个循环语句,while。

While循环

While语句比for语句要灵活,也需要更多的技巧。While语句需要与条件判断语句一起使用,就像我们原先学习过的if语句一样。

While语句只会在两种情况下结束循环,一种情况是你手动把它结束,要么是判断语句反悔了false。如果条件判断语句一直为真,那么循环语句将会一直循环下去,这就是传说中的死循环。我们来试试while语句:

当我们执行它的时候,程序会持续输出”Test is equal to True!”,除非我们手动结束这个过程。以上的语句会得到下面的结果:

篇幅所限,我们只截了一部分上来。除非你刻意这么写(为了某些恶意的目的),死循环这种情况是不应该出现的。好啦,今天就讲到这里。

练习

用各种各样的方式练习今天学到的知识,确保你理解了你学到的东西,而不是在死记硬背。别怕实验,多练才能熟练

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

本文分享自 玄魂工作室 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档