5. 嵌套选择语句

ifelse 的代码块内部,还可以再嵌套一层 if-else,用于处理更复杂的多条件判断

python
# 语法格式
if 外层条件:
    内层选择之前的代码
    if 内层条件:
        执行内层语句块1
    else:
        执行内层语句块2
    内层选择之后的代码
else:
    执行外层else语句块
⚠️ 嵌套层数不宜过多

嵌套超过 3 层时代码可读性急剧下降。能用 elif 拍平的尽量不嵌套。

简易计算器(嵌套处理除零错误)

输入两个数和运算符,进行四则运算。除法时需要嵌套判断除数是否为 0。

python
num1 = float(input("请输入第一个运算数: "))
operator = input("请输入运算符(+、-、*、/): ")
num2 = float(input("请输入第二个运算数: "))

if operator == '+':
    print(num1 + num2)
elif operator == '-':
    print(num1 - num2)
elif operator == '*':
    print(num1 * num2)
elif operator == '/':
    if num2 == 0:          # 嵌套判断:除数是否为0
        print("除数不能为0")
    else:
        print(num1 / num2)
else:
    print("不支持的运算符")

📝 样例输入:

输入
10
+
5

▶ 运行结果:

输出
请输入第一个运算数: 10
请输入运算符(+、-、*、/): +
请输入第二个运算数: 5
15.0

这里在 elif operator == '/' 内部嵌套了一个 if-else,先确认是除法运算,再判断除数是否合法。