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

循环语句

也许你会问,什么是‘循环’?在脚本程序里,循环就是‘在一定情况下一次又一次的执行某些代码’。举个例子来说,假设你很饿,桌上有好多好多个馒头,当你依旧饿的时候,你就会一次又一次的吃馒头。这整个吃过程叫做一个循环(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!”,除非我们手动结束这个过程。以上的语句会得到下面的结果:

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

练习

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

原文发布于微信公众号 - 玄魂工作室(xuanhun521)

原文发表时间:2016-08-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器之心

资源 | 忘了Python关键语句?这份备忘录拯救你的记忆

Python 3 Cheat Sheet 一共包含两页,分成了多个框图,涉及基本的 Python 数据结构、数学运算、条件和循环语句、文件读写,以及异常值处理等...

12930
来自专栏编程

pythonic之路(一)

pythonic之路(一) 一、 中不要直接将语句与 、 、 做比较 python中隐含为 的对象: 数值 (不是字符 ) 空容器,比如空list 、空tupl...

206100
来自专栏阿杜的世界

【转】Java知识点集锦(1~40)

答:不是。Java中的基本数据类型只有8个:byte、short、int、long、float、double、char、boolean;除了基本类型(primi...

11220
来自专栏aCloudDeveloper

指向函数的指针

Author: bakari   Date: 2012.8.8 做好总结我觉得是把知识学扎实必不可少的实践环节。这个知识点是当初自己在学习这一块做的一些笔记,现...

20060
来自专栏JMCui

读书笔记 之《Thinking in Java》(对象、集合、异常)

一、前言:     本来想看完书再整理下自己的笔记的,可是书才看了一半发现笔记有点多,有点乱,就先整理一份吧,顺便复习下前面的知识,之后的再补上。     真的...

37980
来自专栏思考的代码世界

Python编程从入门到实践之遍历列表|第2天

通常情况下,我们需要对列表的所有元素进行操作,这个时候就需要遍历整个列表。循环采用for。

43770
来自专栏Android开发指南

Effecvtive Java Note

31650
来自专栏赵俊的Java专栏

两数之和

22130
来自专栏Python小屋

Python 3.6.x字符串格式化方法小结

1 使用%符号进行格式 使用%符号进行字符串格式化的形式如下图所示,格式运算符%之前的部分为格式字符串,之后的部分为需要进行格式化的内容。 ? Python...

31060
来自专栏技术小站

Python 基础 (-)

Python 单词是“大蟒蛇”的意思。但是龟叔不是喜欢蟒蛇才起这个名字,而是正在追剧:英国电视喜剧片《蒙提·派森的飞行马戏团》(Monty Python and...

1.8K30

扫码关注云+社区

领取腾讯云代金券