循序渐进学Python之循环语句(1)


51CTO.com独家特稿】本文将详细介绍Python语言中的两种选择语句:while语句,for语句以及经常跟for语句一起使用的range)内建函数。与此同时,我们还将说明跟循环语句紧密相关的break语句、continue语句和pass语句。在整个讲解过程中,我们会适时地给出一些简单的示例程序,以帮助读者加深理解。

一、程序的循环结构

在Python语言中,除了顺序结构和选择结构之外,还有一种常见的结构:循环结构。所谓循环结构,就是在给定的条件为真的情况下,重复执行某些操作。具体而言,Python语言中的循环结构包含两种语句,分别是while语句和for语句。这两种语句是编程时的基本元素,例如当我们需要用户输入十个整数时,如果使用循序结构的话,则需要使用十条输入语句,但是使用循环结构的话,我们只需要一条语句就够了。由此可见,循环结构能够给我们的开发工作带来极大的便利。

二、while语句

Python的while语句的功能是,当给定的条件表达式为真时,重复执行循环体即内嵌的语句),直到条件为假时才退出循环,并执行循环体后面的语句。while语句的语法形式如下所示:

while 表达式 :

    循环体

while语句的流程图如下所示:

Python

图1:while语句的流程示意图

我们跟上一篇文章中介绍的if语句的流程图做一下比较:

Python

图2  :if语句的流程示意图

不难发现,两者都有一个表达式和语句体组成,并且都是在表达式的值为真是执行语句体。关键的区别在于,对于if语句,它执行完语句体后,马上退出了if语句;对于while语句,它执行完语句体后,立刻又返回到表达式,只要表达式的值为真,它会一直重复这一过程。

在使用while语句时,有四点要注意,一是组成循环体的各语句的缩进形式;二是循环体中要有使循环趋向于结束即使表达式的值为假)的代码,否则会造成无限循环;三是循环体既可以由单语句组成,也可以由多条语句组成,但是不能没有任何语句;四是Python对大小写敏感,所以关键字while必须小写。

现在我们用一个示例程序来演示一下while语句的用法。我们的程序很简单的,它只是计算并输出1到30之间的奇数。代码如下所示

# -*- coding: cp936 -*-

#计算并输出1到30之间的奇数

integer = 1

while integer <= 30:

  if integer % 2 == 1:
   print  integer

  integer = integer + 1

当我们在IDEL中运行该程序时,结果如下所示:

Python

图3 : while语句示例程序运行结果

使用循环结构的时候,控制循环的结束是一个重要的考虑事项。对于while语句来说,通常使用两种方式来控制循环的结束,一种是计数器循环控制法,一种是信号值循环控制法。下面分别加以解释。


评论关闭