For循环和列表
同If语句一样,循环语句也是编程语言的一个必备基本单元。一般而言,Python有两种方式可以实现循环语句,一种是for另一种便是while,我们先从稍微简单一点的for开始学习。在开始使用for之前,我们需要介绍一个配套的概念,列表,这也是我们在前面的课程中不断提到的一个重要概念。列表简单理解起来就是一堆变量的集合,我们用中括号[ ]将列表中元素放进去,列表里的元素用逗号隔开。我们将会在下一课中详细介绍列表。
我们先定义一个叫做the_list的列表,把1到5的数字存放在列表当中。然后我们利用for循环实现一个连续整数的加法,注意到我们以for开头,然后接着一个变量number将会用来依次访问列表中的元素,然后用一个in来连接最后的the_list,也就是要访问的列表。
运行结果:
range()函数
如果我们想要用for循环访问一个1-1000的整数列表,那么我们岂不是要手打1-1000整数,有没有一个更有效的方法呢?答案是有的,它就是range() 函数,是来用创建整数列表。Range()函数有3个参数来控制生成的整数列表,第一个是起始整数,第二是结束整数,但是列表并不会取到这个数,而是比它小一位,最后一个就是步长。当然我们不需要每次都输入三个参数来控制,如果只输入一个参数,那么Python会默认起始整数为0,输入的参数是结束整数。如果输入两个参数,那么第一个是起始整数,第二个就是结束整数。
我们建立了一个从1到5的整数列表,最后的结束整数为6,生成的列表会比6小一位,变成5。有一点要提醒大家的是Python从0开始计数。
运行结果:
15
while循环
接下来我们介绍比for更加复杂一些的while循环。和for不同的是,while不是访问一个列表一次取值,而在一个逻辑条件一直成立的情况下,不断执行循环里面的代码。
在上面的例子中,while循环的判断条件是number<5,所以我们需要在循环里面不断给number加1,同时我们把number不断地往sum上面加,最后实现了1-5整数的求和。
最后我们给大家提醒while的使用注意点:
(1) 尽量少用while多用for。
(2) 检查while语句中的逻辑表达式是否最终会变成False,防止无限循环。(3) 必要时候可以打印循环里的变量来观察。
运行结果:
15
练习题
1,写一个函数,用循环的方法实现统计列表元素个数的功能。
2,分别用for和while循环实现等比数列求和。