文章目录
- 1.条件判断
- 2.if嵌套
- 3.如何写嵌套代码
- 4.总结
- 5.练习
1.条件判断
在Python宇宙,条件判断语句总共有三种表现形式,先从最简单的单向判断:if开始说起:
- 单向判断:if
示例如下:
首先,第一行代码,用赋值运算符**=对当前情况进行赋值:将你拥有的宝石个数6赋值给变量——宝石数stonenumber**。
第二步,确定if条件:如果变量stonenumber的值**>=个数6**时,就执行冒号后,下一行的命令。
第三步,用**print()**命令打印出结果:你拥有了毁灭宇宙的力量。所以,if语句的单向判断逻辑,我们可以这样归纳:
在这里,你可能注意到了一个细节:在条件判断代码中的冒号**?*后、下一行内容的前面,会空几个格。
首先,在计算机的沟通语言中,空格的学名叫缩进,比如我们写文章都要空两个格,这就叫首行缩进。
对于Python而言,冒号和缩进是一种语法。它会帮助Python区分代码之间的层次,理解条件执行的逻辑及先后顺序。【注:缩进是四个空格或一个Tab键】
并且,在if条件语言中,缩进不需要我们手动按空格键。当你用英文输入法打**?*后按回车,我们的开发工具(用来编写Python代码的程序)为了方便大家编程,会自动实现下一行代码,向右缩进的功能。
此时,被缩进的内容(print()函数)和if条件语句组成了一个代码块(一个整体),成为了if条件下的内部命令。
- 双向判断:if…else…
在if…else条件语句中,if和else各自抱团,形成两个不同的代码块。表示的是条件和其他条件的互斥关系——如果不满足if条件,就执行else其他条件。
总结如下:
示例如下:
- 多向判断:if…elif…else…
在判断3个或3个以上的条件时,我们就需要借助Python中的多向判断命令:if…elif…else…。
这三者共同构成了多向判断的命令逻辑关系:如果if的条件不满足,就按顺序看是否满足elif的条件,如果不满足elif的条件,就执行else的命令。
并且,当判断的条件超过3个时,中间的多个条件都可以使用elif。
示例如下:
另外,elif后面可以不接else
注意:Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。
2.if嵌套
if嵌套的应用场景,简单来讲就是:在基础条件满足的情况下,再在基础条件底下增加额外的条件判断。
示例如下:
逻辑图如下:
要注意的是,elif也是可以放进嵌套里的。
3.如何写嵌套代码
f嵌套由于涉及多个条件判断,并且是条件套条件的判断,所以为了理清逻辑,我们可采用扒洋葱大法写if嵌套。
用之前的例子来进行举例,第一步就要搞定最外层那张皮,将最基础的命令和条件写出来。
那么,我们的思考逻辑应该是这样(1)把26分的历史成绩赋给变量historyscore;(2)用if…else写最基础判断条件如果historyscore>=60时,打印你已经及格,否则,打印不及格;(3)用print()输出程序结束。
- 先写第一层if判断
- 在第一层的if语句块中编写相应代码
- 在第一层的else语句块中编写相应代码
4.总结
5.练习
5.1 寻找宝石
- 题目要求
请你写出一段代码,在一颗宝石都没偷回来的赋值下,进行条件判断,并产生对应的结果:
1.如果偷回的宝石数是4颗及以上,输出结果获得了打败灭霸的力量,反杀稳了
2.如果偷回的宝石数是1-3颗,输出结果可以全员出动,殊死一搏
3.如果偷回的宝石数是0颗,输出结果没办法了,只能尝试呼叫惊奇队长
注意:标点符号都为英文格式
- 题目详解
1.赋值:因为他们一个宝石都没偷回来,为偷来的宝石stonenumber
赋值为0。
2.用if
写第一个条件:如果偷回的宝石数是4颗及以上,输出结果:获得了打败灭霸的力量,反杀稳了
3.用elif
写第二个条件:如果偷回的宝石数是1-3颗,输出结果:可以全员出动,殊死一搏
4.用else
写第三个条件:如果偷回的宝石数是0颗,输出结果:没办法了,只能尝试呼叫惊奇队长
- 题目实现
- 输出结果
5.2 美国队长的工资
- 题目要求
复仇者联盟的成员也是有工资的,然而,由于美国队长一直被冰封在北极,错过了多次调薪机会,所以美国队长的工资一直是每月80美元。光荣挺进史塔克穷人榜前三名,并获封“美元队长”称号。
- 题目详解
1.根据题目,我们知道这里涉及嵌套条件,所以可以用扒洋葱法梳理代码逻辑
2.可以先写最外层的if……elif……else……条件
3.根据题目的从属关系分析,最外层的if条件和else条件都有额外条件
4.依次在外层基础条件下添加额外条件
- 题目实现
- 输出结果