第3章
控 制 语 句
本章学习目标
熟练掌握分支语句、循环语句。
掌握break语句和continue语句。
能针对具体案例编写简单的控制程序,并合理设计程序的测试数据。能预判循环的执行次数。
本章首先介绍分支语句中的单分支语句、双分支语句、多分支语句、嵌套分支语句和选择结构的三元运算,接着介绍两种循环控制语句及两个循环中断语句,然后给出几个综合案例。
3.1分支结构控制语句
Python的分支控制语句根据条件表达式的判断结果为真(包括非零、非空)还是为假(包括零、空),选择运行程序的其中一个分支。Python的分支结构控制语句主要有: 单分支语句、双分支语句、多分支语句、嵌套分支语句和分支结构的三元运算。
3.1.1单分支if语句
if语句由四部分组成: 关键字if、条件表达式、冒号、表达式结果为真(包括非零、非空)时要执行的语句体。其语法形式如下所示:
图3.1单分支if语句
流程图
if 条件表达式:
语句体
单分支if语句的执行流程如图3.1所示。
单分支if语句先判断条件表达式的值是真还是假。如果判断的结果为真(包括非零、非空),则执行语句体中的操作; 如果条件表达式的值为假(包括零、空),则不执行语句体中的操作。语句体既可以包含多条语句,也可以只由一条语句组成。当语句体由多条语句组成时,要有统一的缩进形式,否则可能会出现逻辑错误或导致语法错误。
【例31】从键盘输入圆的半径,如果半径大于等于0,则计算并输出圆的面积和周长。
程序代码:
#example3_1.py
#coding=gbk
import math
r=input("请输入圆的半径: ")
r=eval(r)
if r>=0:
d=2*math.pi*r
s=math.pi*r**2
print('圆的周长=',d,'圆的面积=',s)
程序测试: 运行程序example3_1.py,请首先输入一个大于等于0的半径,如5,观察程序的运行结果。再次运行程序,请输入一个小于0的半径,如-1,观察程序的运行结果。
只有在输入的半径为大于等于0的数时,才会产生正确的输入和输出。如果输入的半径小于0,则不产生任何输出。
程序运行结果:
请输入圆的半径: 5
圆的周长=31.4159265359 圆的面积= 78.5398163397
思考: 如果程序编写如下,会产生怎样的结果。
#question3_1.py
#coding=gbk
import math
r=input("请输入圆的半径: ")
r=eval(r)
if r>=0:
d=2*math.pi*r
s=math.pi*r**2
print('圆的周长=',d,'圆的面积=',s)
程序测试: 运行程序question3_1.py,请首先输入一个大于等于0的半径,如5,观察程序的运行结果。再次运行程序,请输入一个小于0的半径,如-1,观察程序的运行结果。观察example3_1.py和question3_1.py程序运行结果的异同。请思考: 对于单分支结构的程序,如何设计测试数据以验证程序流程上没有错误?