if-else-elif-if嵌套

想一想:在使用if的时候,它只能做到满足条件时要做的事情。那万一需要在不满足条件的时候,做某些事,该怎么办呢?

答:使用 if-else

<1>if-else的使用格式
if 条件:
满足条件时要做的事情1
满足条件时要做的事情2
满足条件时要做的事情3
…(省略)…
else:
不满足条件时要做的事情1
不满足条件时要做的事情2
不满足条件时要做的事情3
…(省略)…
demo1

chePiao = 1 # 用1代表有车票,0代表没有车票
if chePiao == 1:
    print("有车票,可以上火车")
    print("终于可以见到Ta了,美滋滋~~~")
else:
    print("没有车票,不能上车")
    print("亲爱的,那就下次见了")

结果1:有车票的情况

有车票,可以上火车
终于可以见到Ta了,美滋滋~~~

结果2:没有车票的情况

没有车票,不能上车
亲爱的,那就下次见了

elif
想一想:

if能完成当xxx时做事情

if-else能完成当xxx时做事情1,否则做事情2

如果有这样一种情况:当xxx1满足时做事情1;当xxx1不满足、xxx2满足时做事情2;当xxx2不满足、xxx3满足时做事情3,那该怎么实现呢?

答:

elif

扫描二维码关注公众号,回复: 4150390 查看本文章

<1> elif的功能
elif的使用格式如下:

if xxx1:
    事情1
elif xxx2:
    事情2
elif xxx3:
    事情3

说明:

当xxx1满足时,执行事情1,然后整个if结束
当xxx1不满足时,那么判断xxx2,如果xxx2满足,则执行事情2,然后整个if结束
当xxx1不满足时,xxx2也不满足,如果xxx3满足,则执行事情3,然后整个if结束
demo:

score = 77

if score>=90 and score<=100:
    print('本次考试,等级为A')
elif score>=80 and score<90:
    print('本次考试,等级为B')
elif score>=70 and score<80:
    print('本次考试,等级为C')
elif score>=60 and score<70:
    print('本次考试,等级为D')
elif score>=0 and score<60:
    print('本次考试,等级为E')

<2> 注意点
可以和else一起使用

if 性别为男性:
输出男性的体重

elif 性别为女性:
输出女性的体重

else:
第三种性别的体重

说明:

当 “性别为男性” 满足时,执行 “输出男性的体重”的相关代码
当 “性别为男性” 不满足时,如果 “性别为女性”满足,则执行 “输出女性的体重”的相关代码
当 “性别为男性” 不满足,“性别为女性”也不满足,那么久默认执行else后面的代码,即 “第三种性别的体重”相关代码
elif必须和if一起使用,否则出错

else 一般用在最后,即所有条件都不满足时使用

通过学习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相同???

猜你喜欢

转载自blog.csdn.net/PG_peng/article/details/84197987