条件判断
    015.jpg
    在 Python 中,条件判断语句总共有三种表现形式, 我们从最基本的单向判断:if 语句开始。
    单向判断 if
    单向判断:if 代表什么呢?你会发现, 上面的故事中, 有一个如果……就。那么,如果我们要用代码来实现出来的话,就可以用条件判断语句中的单向判断:if 来实现。

    1. # 为钱包赋值
    2. money = 1000
    3. # 条件:如果有1000块钱以上(包含1000块),就去吃日料
    4. if money>=1000:
    5. # 结果:显示‘你去吃日料’的结果
    6. print('金刚狼带凤凰女去吃日料') #金刚狼带凤凰女去吃日料

    那么,这段代码是如何实现的呢?
    首先,第一行代码,用“=”对当前情况进行赋值:将钱包 1000 赋值给变量 money。
    第二步,确定 if 条件: 如果钱包 money 的值>=1000, 就执行冒号后的下一行命令。
    第三步,用 print()命令打印出结果, 你去吃日料吧,带上钱,带上女朋友。

    在这里,你会发现,在 if 语句的冒号后面,print()语句的前面,出现了几个空格,这又是为什么呢?
    补充3.jpg
    在编程武林中,空格不叫空格,而是叫缩进。就如同我们写报告一样,每段开始都要空两格。
    对于 Python 而言,缩进是一种语法规则,它会帮助 Python 更好的分清代码结构与层次,计算机更好的执行 Python 代码。【注:缩进是四个空格或一个 Tab 键,且Tab 键和四个空格不能混用,千万注意!千万注意!】
    在 if 条件语句中,缩进是不需要手动按空格的。当你用英文输入法后按回车,我们的开发工具(用来编写 Python 代码的程序)为了方便大家编程,会自动实现下一行代码,向右缩进的功能。
    此时,被缩进的所有内容被称为 if 语句内的代码块。这就表示: 如果满足 if 条件,计算机就会执行 if 语句内的代码块。(缩进的所有内容)
    016 if.jpg017if 如果就.jpg
    计算机是一步一步往下执行代码的。所以,当第一行赋值语句不满足 if 语句条件时,Python 就会这么思考:条件不满足,无法执行 if 语句内的代码块,从而直接跳过。
    018if 单项判断.jpg

    双向判断 if—else
    Python 提供了 if…else…语句,让我们有了另一种选择。如果…不满足,就…
    019双向判断.jpg
    if…else…其实就是二选一,满足条件执行 if 里面的代码块,不满条件执行 else 代码块。

    1. # 赋值语句:为体重赋值
    2. weight = 98
    3. # 条件:满足体重超过90(包含90)
    4. if weight>=90:
    5. # 结果:显示‘跑步’的结果
    6. print('她就每天去跑步')
    7. # 条件:当赋值不满足if条件时,执行else下的命令
    8. else:
    9. # 结果:显示‘散步’的结果
    10. print('她就每天去散步') #她就每天去跑步

    020if else双向判断总结.jpg

    多向判断 if—elif—else
    在判断 3 个和 3 个以上的条件是,我们就需要使用 Python 中if…elif…else…语句。
    021if elif else多向判断.jpg

    1. # 为钱包赋值
    2. money = 999
    3. # 条件:如果有1000块钱以上(包含1000块),就去吃日料
    4. if money>=1000:
    5. print('金刚狼带凤凰女去吃日料')
    6. # 条件:如果有800-1000块钱之间(包含800块)
    7. elif money>=800:
    8. print('金刚狼带凤凰女去吃披萨')
    9. #不满足条件
    10. else:
    11. print('金刚狼带凤凰女去吃KFC') #金刚狼带凤凰女去吃披萨

    第一步,第一行赋值,会自上而下的顺序挨个试一遍,看自己满足哪个条件。
    第二步,满足哪个条件,就执行哪个条件里面对应的代码块,不满足条件就继续往后试,试出结果为止。
    elif 与 if 本质一样,也就是其他条件的意思, elif 后面直接写条件。
    022elif总结.jpg

    if 嵌套
    if 嵌套使用的场景是:在满足基础条件的情况下,在观察是否满足其他额外条件。
    if 中包含了代码块1,else 中包含了代码块2,这种嵌套逻辑该如何理解呢?

    1. contribution=860
    2. if contribution>=600:
    3. print('特种作战人员')
    4. if contribution>=800:
    5. print('王者')
    6. else:
    7. print('黄金')
    8. else:
    9. print('普通作战人员')
    10. if contribution>400:
    11. print('白银')
    12. else:
    13. print('青铜')
    14. print('结束') # 特种作战人员
    15. 王者
    16. 结束

    补充4.jpg
    计算机执行的顺序就是:
    (1)先给 contribution 赋值。
    (2)因为 if 与 else 是二选一的关系, if 和 else 中的代码只会执行一个,要么执行代码块1,要么执行代码块2; contribution=860 满足if(contribution>=600)的条件,就进入代码块1中进行执行,执行 print(‘特种作战人员’)。
    (3)进入到代码块1, contribution=860去尝试代码块1中的条件,满足 contribution>800的条件,只能去执行代码块1中的 if,执行 print(‘王者’)。
    (4)执行 print(‘结束’)。
    024嵌套.jpg
    if 条件判断总结
    025if条件判断总结.jpg