Python if语句嵌套(入门必读)

 
前面章节中,详细介绍了 3 种形式的条件语句,即 if、if else 和 if elif else,这 3 种条件语句之间可以相互嵌套。

例如,在最简单的 if 语句中嵌套 if else 语句,形式如下:

if 表达式 1:
    if 表示式 2:
        代码块 1
    else:
        代码块 2

再比如,在 if else 语句中嵌套 if else 语句,形式如下:

if 表示式 1:
    if 表达式 2:
        代码块 1
    else:
        代码块 2
else:
    if 表达式 3:
        代码块 3
    else:
        代码块 4

Python 中,if、if else 和 if elif else 之间可以相互嵌套。因此,在开发程序时,需要根据场景需要,选择合适的嵌套方案。需要注意的是,在相互嵌套时,一定要严格遵守不同级别代码块的缩进规范。

【实例】判断是否为酒后驾车
如果规定,车辆驾驶员的血液酒精含量小于 20mg/100ml 不构成酒驾;酒精含量大于或等于 20mg/100ml 为酒驾;酒精含量大于或等于 80mg/100ml 为醉驾。先编写 Python 程序判断是否为酒后驾车。

通过梳理思路,是否构成酒驾的界限值为 20mg/100ml;而在已确定为酒驾的范围(大于20mg/100ml)中,是否构成醉驾的界限值为 80mg/100ml,整个代码执行流程应如图 1 所示。


图 1 执行流程示意图

由此,我们可以使用两个 if else 语句嵌套来实现:
proof = int(input("输入驾驶员每 100ml 血液酒精的含量:"))
if proof < 20:
    print("驾驶员不构成酒驾")
else:
    if proof < 80:
        print("驾驶员已构成酒驾")
    else:
        print("驾驶员已构成醉驾")
运行结果为:

输入驾驶员每 100ml 血液酒精的含量:10
驾驶员不构成酒驾

当然,这个例题单独使用 if elif else 也可以实现,这里只是为了让初学者熟悉 if 分支嵌套的用法而已。

除此之外,if分支结构中还可以嵌套循环结构,同样,循环结构中也可以嵌套分支结构。不过,由于目前尚未系统学习循环结构,因此这部分知识会放到后续章节中作详细讲解。