Python 3.6零基础入门与实战
上QQ阅读APP看书,第一时间看更新

3.2 用if选择

if语句是流程控制中的选择结构,用于在程序中做选择,选择后会执行不同的程序。本节将介绍if语句的不同使用形式。

3.2.1 选择语句格式

if语句有多种形式,if…else是其中比较简单的一种。除此之外,还有if…elif…else,或者仅仅一个单独的if语句,但是没有单独的else语句。if…else语句的语法形式如下:

    if expr:
        ......
        ......
    else:
        ......
        ......

首先要注意,关键词语句的后面用冒号结束,Python用同一缩进表示同一代码块,因此这个冒号下面相同的缩进语句就是选择语句的代码块。

expr是判断条件,可以是任何表达式或函数的返回结果,结果的类型必须是布尔型(True或False)。当返回True时,执行if代码块中的语句;否则,执行else代码块中的语句。expr判断条件时常用的运算符如表3.1所示。

表3.1 判断条件时常用的运算符

if…else属于“二选一”执行,也有“多选一”执行的用法,就是if…elif…else,其表达的形式如下:

    If expr1:
        ......
        ......
    elif expr2:
        ......
        ......
    else:
        ......
        ......

expr1和expr2的意义和上面是一样的。当expr1返回True时,执行if代码块;否则继续判断expr2的返回,如果是True就执行expr2代码块中的语句;否则继续执行else代码块中的语句。当然,这种格式并不限于三选一,还可以有更多的选择分支,只需要多加elif语句便可。

3.2.2 选择语句详解

举例如下:

【示例3-1】

执行结果如图3.4所示。

图3.4 选择语句应用

3.2.3 选择语句的嵌套

选择语句的嵌套语法如下:

    if expr1:
        ......
        if expr2:
        ......
        else:
        ......
    elif expr4:
        ......
    else:
        ......

我们看一下判断闰年的例子:

• 普通年能被4整除且不能被100整除的为闰年(如2004年就是闰年,1900年不是闰年)。

• 世纪年能被400整除的是闰年(如2000年是闰年,1900年不是闰年)。

下面演示:

【示例3-2】

结果如图3.5所示。

图3.5 嵌套选择语句应用