第3章Python控制结构
目录2三种基本控制结构选择结构实例:使用选择结构进行程序设计循环结构实例:使用循环结构进行程序设计小结第一节第二节第三节第四节第五节第六节
第一节三种基本控制结构
三种基本控制结构4顺序结构是最简单的控制结构,即按照语句的书写顺序依次执行。本书前面的示例代码均是顺序结构。选择结构又称分支结构,它表示根据程序运行时的某些特定条件来选择其中一个分支执行。选择结构可以分为单选择结构、双选择结构和多选择结构。循环结构指程序在满足某条件时会反复执行某些操作。循环结构可以分为当型循环和直到型循环。循环结构作为程序设计中最能发挥计算机特长的基本控制结构,可以减少程序代码重复书写的工作量。在结构化程序设计中,有三种基本的控制结构(也称控制语句),它们分别是顺序结构、选择结构和循环结构。这三种基本控制结构在1996年被意大利人Bobra和Jacopini提出。
第二节选择结构单选择结构—if语句双选择结构—if-else语句多选择结构—if-elif-else语句选择结构的嵌套
选择结构6选择结构会根据程序中某些特定条件来执行特定语句。Python提供了if语句、if-else语句以及if-elif-else语句来支持选择结构。Python3.x还支持条件表达式作为一种轻量级的选择结构OAL
单选择结构—if语句7本节介绍选择结构中最简单的单选择结构。单选择结构表示:当且仅当某条件为真时,执行某代码段。Python中单选择结构的语法结构如下:if表达式:语句块其中,if为Python的关键字,后边的表达式要返回一个布尔值或能够转换为布尔值的对象。如果该表达式返回True,将执行下一行的语句块。需要注意的是,这里的语句块必须向右缩进若干长度;如果语句块包含多行语句,需要有相同的缩进长度。
单选择结构—if语句8上图显示了if语句的流程图。流程图是用来描述算法或过程的图,将程序中的步骤描述为一些形状,连接这些形状的箭头表示控制流,即程序的执行方向和路线。图中的菱形框用来表示条件,而普通矩形框则表示一般语句。if语句流程图
单选择结构—if语句代码清单3.1展示了一个使用if语句实现单选择结构的例子。程序需要用户输入两个整数,并按照升序将其输出。9
单选择结构—if语句程序前两行接收用户的输入;第3行打印交换前两个变量的值。当变量a的值小于b的值时(第4行),交换两个变量的值(第5行)。第6行输出交换后两个变量的值,此时变量a的值一定不大于b。10
单选择结构—if语句11if语句中的表达式可以是单个变量或对象,也可以使用本书2.3节中介绍的所有运算符。其中,最常用的运算符有关系运算符(、、==、=、=、!=)和逻辑运算符(and、or、not)。这些运算符结合使用可以创造出更复杂的条件。例如,当判断一个变量x是否为两位数时,其代码如下:ifx=10andx=99:……与其他编程语言不同的是,Python中的关系运算符可以连用。因此,上面的代码也可以被写为if10=x=99:……
单选择结构—if语句12另外,Python还禁止在if后的表达式中使用赋值运算符“=”,这避免了其他编程语言中误把关系运算符“==”写成赋值运算符“=”所带来的问题。在Python中,如果在if语句的表达式中出现赋值运算符,将抛出invalidsyntax错误。
双选择结构—if-else语句13当某个条件为True时,使用一个if语句会完成一个动作;而当条件为False时,程序将不执行任何动作而继续向后执行。如果需要在条件为False时也执行一些动作应该怎么办呢?这就需要使用代表双选择结构的if-else语句。if-else语句会根据条件是True还是False而分别执行不同的动作。if-else语句的语法如下:if表达式:语句块1else:语句块2如果if关键
双选择结构—if-else语句14如果if关键字后的表达式返回True,则程序执行语句块1;如果返回False,则程序将执行语句块2。if-else语句的流程图如图所示。if-else语句流程图
双选择结构—if-else语句代码清单3-2展示了一个使用if-else语句判断奇偶数的程序。15
双选择结构—if-else语句程序第2行用于判断用户输入的整数是否对2的模为0。如果是,则该整数为偶数(第3行);否则为奇数(第5行)。16
双选择结构—if-else语句17此外,Python3.x还引入了条件表达式来作为一种轻量级的双选择结构。条件表达式类似于C语言中的三目运算符(A?x:y)的作用。条件表达式的语法如下:xifCelsey条件表达式将首先计算C的值。如果C为True,则计算表达式x