选择结构:if语句的嵌套。
现在去看一下if语句的嵌套。给大家讲过了基本的if语句,讲过了二选一的if-else,还有多重选择结构,这三种结构之间是可以互相嵌套的。现在看一下常见的形式。
·第一个是if表达式1,这是一个最基本的if语句,在它里面嵌套了一个if-else结构。整个里面的带有缩进的if-else结构,把它当做一个整体的语句块,是作为表达式1为True的时候去执行的代码。
·再看一下这个,在if-else结构当中又分别去嵌套了if-else结构。看一下我的整个框起来的,这是一个语句块,也就说是把if-else结构去看作表达式1为True的时候要执行的语句块,它整体是要缩进的。
·在else当中又嵌套了一个if-else结构。整个的if-else结构又作为一个语句块,是当表达式1为False的时候去执行的代码。
现在去给大家使用代码的形式来演示一下。比如酒驾问题,喝酒了还去驾车问题,看到前面交警在查酒驾,在这的时候一般先问什么?您喝酒了吗?我是使用代码描述一下这个过程,但是去看一下这个叫做嵌套if,先去看一下你是否喝酒。
在这儿的时候answer去声明一个变量,写上输入,请问您喝酒了吗?这是一个问句,可以选择y或者选择n,在这开始判断了。如果answer说,如果选择的y是代表喝酒了,什么代表喝酒了?喝酒了怎么样?喝酒了就开始要吹气,判断你是否是酒驾。
在这的时候看一下,在这先不写代码,这是if再写else,就代表没喝酒的情况,这个代表没有喝酒的情况。没有喝酒的情况怎么样?你走吧没你啥事,一句话就告诉他你走吧,没你啥事。这没有喝酒情况。
那你喝酒了怎么办?喝酒了我要判断一下你的酒精含量,所以在这怎么判断?如果你的酒精含量还得输入一个酒精含量先输入,转化一下,输入酒精含量,那就是看一下这酒精含量是多少,在这的时候你看一下是否缩进了,缩进了就代表你喝酒的情况下我才去判断你的酒精含量。
如果又如果了,酒精含量它要是小于20,说明喝了一点点构不成酒驾,构不成酒驾你可以走了,你祝您一路平安。那就是小于20的情况下,那然后紧接着你要是比这个20大,那所以我在这的时候我是不是可以写上20,对吧我可以写上elif。
如果你的这个酒精含量要是小于80,已构成酒驾标准,就不要开车了,已构成酒驾标准,请不要开车。是小于80的时候,那然后要是比80还大就大于等于80的情况,那这个时候我们用的什么else,已达到醉驾标准,这就很严重了,请千万不要开车。
你看我们在这里它嵌套了一个什么?多重if,那现在我们来运行一下这个程序,那你喝酒了吗?喝了,酒精含量10,构不成酒驾,祝您一路平安,你可以走了。是不是你看我喝酒了,它就开始输入这句,然后开始执行这判断,10小于20,它输出完这句代码后面不执行,跳过去了,输入真喝酒了。
这个时候我输的是什么?70它是小于80的,所以构成酒驾标准,不让开车了。你说这个条件不成立,它去判断elif,然后这条件成立,它执行它了。那我们再来运行一次,这个时候我还是喝酒了,酒精含量已经达到90了,已达到醉驾标准,请千万不要开车,它是不是执行的这个部分。
所以你看一下整个的这个缩进的代码,它都是if条件为True的时候所执行的语句块。那现在如果我这个时候说喝酒了吧,我说个嗯,一点都没喝,告诉你走吧,没你啥事,是不是里面这些代码都不执行了?因为条件判断为False,直接执行的是else,因为它俩的缩进层次是一样的,代表同一级别。