分支结构与条件语句

分支结构与条件语句

在《三国演义》中,有孔明借东风的故事,如果东风不来,就不开战;如果东风来了,就火攻曹营,如图3-2所示。这是一个典型的根据不同情况(条件)采取不同策略做事的顺序。这在程序执行结构中称为分支结构,我们采用条件语句来实现。

简单条件语句if-else

如果条件为真(True),则执行相应代码块1,否则(False),执行代码块2,可以通过图3-3来简单了解条件语句的执行过程。

图3-2 火攻曹营逻辑图

图3-3 条件语句的执行过程

在条件语句中,条件的判断是核心,需要确定以下3个方面:条件是什么,判断标准是什么,判断结果是什么。

Python编程中if语句用于控制程序的执行,其基本形式为:

if语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示。如果判断得到的结果为任何非零和非空(null)值,则在Python程序语言中得到的结果为True,如果是0或者null,则结果为False。如1>0,这个判断就为真。

执行结果:当“判断条件”成立时,即判断结果为非零时,则执行后面的语句(一行或多行,以缩进来区分同一范围)。else为可选语句,在条件不成立执行相关内容时使用。

下面我们来实现“火攻曹营”的例子:

输出结果为:

多分支结构if-elif-else

当判断条件为多个值时,可以使用以下形式:

下面给出一个程序,用来实现输入数字,进行判断后,给出是“星期几”:

运行程序,输出结果为:

多条件判断

elif实现了多分支结构,即多种情况的判断与执行。在某一个判断条件中,如果需要同时判断多个条件,可以采用and(与)或者or(或),and表示多个条件同时成立,or表示多个条件中只有一个成立即可。另外,如果判断条件非常复杂,需要采用括号来区分判断的先后顺序,括号中的判断优先执行,此外and和or的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比and、or要优先判断。

输出结果: