目录
使用场景
在需要进行多种类型的条件判断时可以使用if嵌套。
注意:是多种而不是多个,要注意二者的区别。什么叫多个?就像上一章根据年龄判断成年未成年的例子,其条件的判断是根据“年龄”这一种类型来进行判断的,“如果年龄大于什么什么,就什么什么”那些条件是“年龄”该类型下的各个条件判断;什么叫多种?就是说我不仅要看他的年龄(一种类型)还要看他的财力(一种类型),这种情况下就使用if嵌套。
---------------------------------------------------------------------------------------------------------------------------------
语法
if 条件1:
条件成立执行的代码1
条件成立执行的代码1
if 条件2:
条件成立执行的代码2
条件成立执行的代码2
---------------------------------------------------------------------------------------------------------------------------------
具体案例
假如我要去购买商品,要考虑到的最基本的两个条件是不是:1、我有没有钱,2、商品有没有货。我们可以根据这两个条件来写出一个if嵌套语句。
我们先写两个变量来代表钱和货,1和0来代表有和无这两种情况。然后先使用一个if语句来判断钱的有无情况,再在有钱的条件下写一个if语句来判断货的有无情况,这样我们就可以写出下面这串代码。
a = 1 # 身上所带的钱
b = 1 # 商品的数量
if a == 1:
print('身上有钱,符合购买商品的条件')
if b == 1:
print('商品还有,可以购买')
else:
print('商品库存为零,无法购买')
else:
print('您的余额不足,无法购买')
当商品和钱都有时(a和b都为1),可以看到执行结果如下。
if 嵌套语句的执行逻辑和前面学习的 if...else... 语句执行逻辑一样。这一点我们可以通过改变a、b的值来看出来,当我们身上没钱时(a=0),执行结果如下:
当然,if 语句不仅可以嵌套在if下面,还可以嵌套在else下面(但要注意符合逻辑)。
此外,if 语句里面可以嵌套多个 if 语句。如果考虑到商家愿不愿意卖这个因素(c,1和0代表愿意和不愿意),还可以再嵌套一层,代码如下:
a = 1 # 身上所带的钱
b = 1 # 商品的数量
c = 1 # 商家是否愿意卖
if a == 1:
print('身上有钱,符合购买商品的条件')
if b == 1:
print('商品还有,可以购买')
if c == 1:
print('商家也愿意卖')
else:
print('商家不愿卖')
else:
print('商品库存为零,无法购买')
else:
print('您的余额不足,无法购买')
运行结果如下: