if嵌套

通过学习if的基本用法,已经知道了

  • 当需要满足条件去做事情的这种情况需要使用if
  • 当满足条件时做事情A,不满足条件做事情B的这种情况使用if-else

想一想:

坐火车或者地铁的实际情况是:先进行安检如果安检通过才会判断是否有车票,或者是先检查是否有车票之后才会进行安检,即实际的情况某个判断是再另外一个判断成立的基础上进行的,这样的情况该怎样解决呢?

答:

if嵌套

<1>if嵌套的格式

    if 条件1:

        满足条件1 做的事情1
        满足条件1 做的事情2
        ...(省略)...

        if 条件2:
            满足条件2 做的事情1
            满足条件2 做的事情2
            ...(省略)...
  • 说明
    • 外层的if判断,也可以是if-else
    • 内层的if判断,也可以是if-else
    • 根据实际开发的情况,进行选择

<2>if嵌套的应用

demo:

    chePiao = 1     # 用1代表有车票,0代表没有车票
    daoLenght = 9     # 刀子的长度,单位为cm

    if chePiao == 1:
        print("有车票,可以进站")
        if daoLenght < 10:
            print("通过安检")
            print("终于可以见到Ta了,美滋滋~~~")
        else:
            print("没有通过安检")
            print("刀子的长度超过规定,等待警察处理...")
    else:
        print("没有车票,不能进站")
        print("亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~")

结果1:chePiao = 1;daoLenght = 9

    有车票,可以进站
    通过安检
    终于可以见到Ta了,美滋滋~~~

结果2:chePiao = 1;daoLenght = 20

    有车票,可以进站
    没有通过安检
    刀子的长度超过规定,等待警察处理...

结果3:chePiao = 0;daoLenght = 9

    没有车票,不能进站
    亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~

结果4:chePiao = 0;daoLenght = 20

    没有车票,不能进站
    亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~

想一想:为什么结果3和结果4相同???

<3>练一练

情节描述:上公交车,并且可以有座位坐下

要求:输入公交卡当前的余额,只要超过2元,就可以上公交车;如果空座位的数量大于0,就可以坐下