单分支选择结构用于处理单个条件、单分支的情况,可以用if语句来实现
if 表达式:
语句块
if语句的执行流程是:首先计算表达式的值;如果该值为True,则执行语句块,然后执行if语句的后续语句;如果该值为False,则跳过语句块,直接执行if语句的后续语句
双分支选择结构用于处理单个条件,两个分支的情况,可以用if-else语句来实现
if 表达式:
语句块 1
else:
语句块 2
其中表达式表示条件,其值为布尔值,在该表达式后面要加上冒号。语句块1和语句块2都可以是单个语句或多个语句,这些语句块必须向右缩进,这些语句块中包含的各个语句必须具有相同的所尽量。
if-else语句的执行流程如下:首先计算表达式的值,如果该值为True,则执行语句块1,否则执行语句块2;执行语句块1或语句块2后接着执行if-else语句的后续语句。
多分枝选择结构用于处理多个条件、多个分支的情况,可以用if-elif-else语句来实现。
if 表达式 1:
语句块1
elif 表达式 2:
语句块2
elif 表达式 3:
语句块3
elif 表达式 4:
语句块4
……
else
语句块n
其中表达式1、表达式2、……、表达式n表示条件,他们的值为布尔值,在这些表达式后面要加上冒号;语句块1、语句块2、……、语句块n可以是单个语句或多个语句,这些语句必须向右缩进,而且语句块中包含多个语句必须具有相同的缩进量。
if-elif-else语句的执行流程如下:首先计算表达式1的值,如果表达式1的值为True,则执行语句块1,否则计算语句块2的值;如果表达式2的值为True,则执行语句块2,否则计算表达式3的值,以此类推。如果所有表达式的值均为False,则执行else后面的语句块n。
当使用先择结构控制程序执行流程时,如果有多个条件并且条件之间存在递进关系,则可以在一个选择结构中嵌入另一个选择结构,由此形成选择结构的嵌套。在内层的选择结构中好可以继续嵌入选择结构,嵌套的深度是没有限制的。
在if-else语句中嵌入if-else语句:
if 表达式1:
if 表达式 2:
语句块1
else:
语句块2
在if-else语句中嵌入if语句:
if 表达式 1:
if 表达式2
语句块1
else:
语句块2
在第一个嵌套结构中,else与第二个if配对;第二个嵌套结构中,else与第一个if配对,也就是说,使用嵌套的选择结构时系统会根据代码的缩进量来确定代码的层次关系。