第3章程序流程控制 视频讲解 在Python程序中,对于语句的执行有3种基本控制结构,即顺序结构、选择结构、循环结构。 3.1顺 序 结 构 图31顺序结构示意图 若程序中的语句按各语句出现位置的先后次序执行,称之为顺序结构,参见图31。在图31中先执行语句块1,再执行语句块2,最后执行语句块3,3个语句块之间是顺序执行关系。 【例3.1】顺序结构示例(area.py): 输入三角形3条边的边长(为简单起见,假设这3条边可以构成三角形),计算三角形的面积。提示: 三角形面积=h*(h-a)*(h-b)*(h-c),其中,a、b、c是三角形3条边的边长,h是三角形周长的一半。 import math a = float(input("请输入三角形的边长a:")) b = float(input("请输入三角形的边长b:")) c = float(input("请输入三角形的边长c:")) h = (a + b + c) / 2#三角形周长的一半 area = math.sqrt(h*(h-a)*(h-b)*(h-c));#三角形面积 print(str.format("三角形三边分别为:a={0},b={1},c={2}", a, b, c)) print(str.format("三角形的面积 = {0}", area)) 程序运行结果如下。 请输入三角形的边长a: 3 请输入三角形的边长b: 4 请输入三角形的边长c: 5 三角形三边分别为: a=3.0,b=4.0,c=5.0 三角形的面积 = 6.0 3.2选 择 结 构 选择结构可以根据条件来控制代码的执行分支,也叫分支结构。Python使用if语句来实现分支结构。 3.2.1分支结构的形式 分支结构包含单分支、双分支和多分支等形式,流程如图32(a)~(c)所示。 图32if语句的选择结构 3.2.2单分支结构 if语句单分支结构的语法形式如下。 if (条件表达式): 语句/语句块 其中: (1) 条件表达式: 可以是关系表达式、逻辑表达式、算术表达式等。 (2) 语句/语句块: 可以是单个语句,也可以是多个语句。多个语句的缩进必须一致。 当条件表达式的值为真(True)时,执行if后的语句(块),否则不做任何操作,控制将转到if语句的结束点。其流程如图32(a)所示。 条件表达式最后被评价为bool值True(真)或False(假)。如果表达式的结果为数值类型(0)、空字符串("")、空元组(())、空列表([])、空字典({}),其bool值为False(假),否则其bool值为True(真)。例如,123、"abc"、(1,2)均为True。 【例3.2】单分支结构示例(if_2desc.py): 输入两个数a和b,比较两者的大小,使得a大于b。 a = int(input("请输入第1个整数:")) b = int(input("请输入第2个整数:")) print(str.format("输入值:{0}, {1}", a, b)) if (a < b): #a和b交换 t = a a = b b = t print(str.format("降序值:{0}, {1}", a, b)) 程序运行结果如下。 请输入第1个整数:23 请输入第2个整数:34 输入值:23, 34 降序值:34, 23 ……