前面章节中,详细介绍了 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分支结构中还可以嵌套循环结构,同样,循环结构中也可以嵌套分支结构。不过,由于目前尚未系统学习循环结构,因此这部分知识会放到后续章节中作详细讲解。