• 第3关—条件判断与嵌套


    1、条件判断

    1.1、单项判断:if

    # 为宝石数量赋值
    stonenumber=6
    
    # 条件:如果你拥有的宝石数量大于等于6个
    if stonenumber>=6:
        
        # 结果:显示‘你拥有了毁灭宇宙的力量’的结果
        print('你拥有了毁灭宇宙的力量')   

    2.2、双向判断:if…else…

    # 赋值语句:为宝石数量赋值
    stonenumber=3
    
    # 条件:如果你拥有的宝石数量大于等于6个
    if stonenumber>=6:
        
        # 结果:显示‘你拥有了毁灭宇宙的力量’的结果
        print('你拥有了毁灭宇宙的力量')
        
    # 条件:当赋值不满足if条件时,执行else下的命令
    else:
        
        # 结果:显示‘去找灵魂宝石’的结果
        print('带着卡魔拉去沃弥尔星寻找灵魂宝石')
        

     在if...else条件语句中,ifelse各自抱团,形成两个不同的代码块。表示的是条件其他条件的互斥关系——如果不满足if条件,就执行else其他条件

    关于if...else...的相关知识点到这里就讲完了,我们来总结一下if…else…语句的知识点。

     

     1.3、多向判断:if…elif…else…

    当判断的条件超过3个时,中间的多个条件都可以使用elif

    # 为宝石数量赋值
    stonenumber=5
    
    # 条件:如果你拥有的宝石数量大于等于6个
    if stonenumber>=6:
        
        # 结果:显示‘就拥有了毁灭宇宙的力量’的结果
        print('你拥有了毁灭宇宙的力量')
        
    # 条件:如果想让宝石数量停留在5个以下,至少一个
    elif 0<stonenumber<=5:
    
        # 结果:显示‘绯红女巫需要亲手毁掉幻视额头上的心灵宝石’的结果
        print('绯红女巫需要亲手毁掉幻视额头上的心灵宝石')
    
    # 条件:当赋值不满足if和elif条件时,执行else下的命令,宝石数量为0个
    else:
    
        # 结果:显示‘需要惊奇队长逆转未来’的结果
        print('需要惊奇队长逆转未来')

     我们来总结一下elif的知识点:

     

     2、if嵌套

    if嵌套的应用场景,简单来讲就是:在基础条件满足的情况下,再在基础条件底下增加额外的条件判断。

    historyscore=26
    
    if historyscore>=60:
        print('你已经及格')
    
        if historyscore>=80:
            print('你很优秀')
    
        else:
            print('你只是一般般')
    
    else:
        print('不及格')
    
        if historyscore<30:
            print('学渣')
    
        else:
            print('还能抢救一下')
    
    print('程序结束')

     2.1、if嵌套的执行顺序

    计算机执行的顺序就是:

    (1)先给historyscore赋值;

    (2)因为if和else是只能留一个的互斥关系,if和else下的代码块只会执行一个,所以计算机要判断赋值的内容满足【historyscore>=60】还是【historyscore<60】的条件——如果满足if的条件,就执行if缩进下的内容,如果不满足就执行else缩进下的内容;

    (3)执行print('程序结束')

    下面,我们再通过一张导图理一下if嵌套的逻辑,建议你把这张图收藏起来,接下来写嵌套代码的时候可以翻看:要注意的是,elif也是可以放进嵌套里的

     3、如何写嵌套代码

    f嵌套由于涉及多个条件判断,并且是条件套条件的判断,所以为了理清逻辑,我们可采用扒洋葱大法写if嵌套

    (1)把彼得·帕克26分的历史成绩赋给变量historyscore

    (2)用if…else写最基础判断条件如果historyscore>=60时,打印你已经及格,否则,打印不及格

    (3)用print()输出程序结束

    第二步,在“第一层皮”里装东西。也就是在条件【historyscore>=60】下,增加额外条件。

    最后一步,你要为另一个大条件else增加额外条件了!

     

  • 相关阅读:
    ASP.NET MVC5+ 路由特性
    老李分享:大数据,数据库,数据仓库之间是什么关系
    老李分享:DBA
    老李提问:开源家族你认识几个
    米尔格伦连锁信实验
    老李分享:六度分隔理论
    三者关系
    老李分享:JDK,JRE,JVM区别与联系
    Linux简介与厂商版本下
    Linux简介与厂商版本上
  • 原文地址:https://www.cnblogs.com/waitingzxy/p/11514437.html
走看看 - 开发者的网上家园