如何学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(start, end, scan):

参数含义:start:计数从start开始。默认是从0开始。例如range(5)等价于range(0, 5);

              end:技术到end结束,但不包括end.例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5

              scan:每次跳跃的间距,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

坑人的现象:

for i in range(5):
    print i
    i += 2
    print i
    print '一轮结束'

结果:

        

而不是:

    

上面的代码这样:

i = 0
while i < 5:
    print i
    i += 2
    print i
    print '一轮结束'

这里我们先使用两个参数的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!”,除非我们手动结束这个过程。以上的语句会得到下面的结果:

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

 

练习

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


猜你喜欢

转载自blog.csdn.net/shadowyingjian/article/details/81050447