3.2.2 两路分支结构

有时我们希望根据条件表达式的不同计算结果(True 或 False),分别执行两个不同的语 句序列,这时可以使用具有两个分支的条件语句形式,即 if-else 语句:

if <条件表达式>:
    <if-语句体> 
else:
    <else-语句体>

if-else 语句的语义是:首先计算条件表达式的值,如果结果为 True,则执行 if-语句体;

如果结果为 False,则执行 else-语句体。无论哪种情况,语句体执行完毕之后,控制都转到 if-else 语句的下一条语句。参见图 3.5 所示的流程图。

图 3.5 两路分支控制结构

在使用两路分支的 if 语句时要注意:if 部分和 else 部分必须与一对非此即彼的条件相对 应,一个条件为真则另一个条件必为假,反之亦然。例如在程序 3.3 中,c>=35 和 c<=-6 就不是非此即彼的条件,因为还有既非酷热又非酷寒的第三种情形:-6 < c < 35。因此 在程序 3.3 中不能按如下方式使用 if 语句:

if c >= 35:
print "Warning: Heat Wave!" else:
print "Warning: Cold Wave!"