python 选择判断_第2关 灭霸的选择---python中的条件判断

关卡目标:

在这关需要学习python的中条件判断,学会使用if/elif /else 去进行条件判断,以及条件嵌套;重点理解代码块的层级关系,掌握python的代码缩进

关卡小贴士:

需要特别注意缩进问题,以及代码块执行顺序,多去对比各个例子之间的差异,更容易掌握本关卡的知识。

建议大家多动手在网页环境中或者本地vscode中多运行代码,实践才是检验真理的唯一标准!

关卡知识图谱

本关卡的知识点比较密集,需要注意的点比较多,所以特意使用了第8关教方法来重新整理原来的学习笔记。本篇分为2个部分:

1、用法查询笔记:记录知识点的基础用法

2、深度理解笔记:总结、理解知识的使用场景

一、用法查询笔记:

1、单向判断:只判断某一种情况

用法:完整的单向判断由两个部分构成:条件判断语句+执行语句;执行语句可以是一个或多个语句,也可以是一个代码块。

条件判断的结构为:关键词+条件表达式+冒号,具体到上面例子就是,if是关键词,a>0是条件表达式,冒号(:);代码的意义是,如果a>0成立,那么执行下一级语句print("a>0")

注意:执行语句是条件判断语句的下一级,也就是print("a>0")要比if a>0:语句缩进一级。

2、双向判断:if...else 判断非此即彼的情况(两种情况的判断)

用法:if语句和单向判断相同,增加了一个else语句,else是其他情况的意思,也就是只要不符合if后面的条件,就会落到else中,例如,a>3不成立,那么a<=3一定成立,亦即if和else是对立的,只要不执行if后语句,就一定会执行else后的语句。

注意:else本身是隐含了条件的,所以后面直接跟冒号,而不能再添加条件上去;其次,要先有同级的if(或者循环中的while),然后才能使用else,else不能单独出现。

3、多向判断:if-elif...elif-else 判断多种情况(3种以上的情况)

用法:双向判断中间增加了一个elif,后面需要像if一样带条件。elif其实是else if的缩写,含义与if一样,用法区别是在一段多向判断中if能且只能用在第1个条件;elif只能用在第2个以上的条件,允许多次使用(只要条件够多,多少次都可以);else只能用在最后一个条件,且不是必要的(也就是说可以以elif的条件结束多向判断)

注意:中间可以根据需要使用多个elif 条件,最后的else并非是必要的,没有需要可以不用,else/elif前面一定要有同级的if

4、嵌套:

在基础条件满足的情况下,再在基础条件底下增加额外的条件判断。

用法:简单来说,嵌套就是条件判断语句后的执行语句是一个单向/多向判断语句块,在基础条件成立的前提下再进行额外条件的判断,具体到上述例子,先判断是否及格,再在及格这些人中去判断90以上和90以下的学生;而在不及格的学生中判断40分以上和40分以下的。

注意:要理解条件之间的层级关系,掌握好代码块的缩进,这才不容易出错。缩进使用快捷键ctrl+[和ctrl+](见下图),而不是使用tab键。

二、深度理解笔记:条件判断中容易迷惑的点

1、什么时候应该缩进?

1)、在 Python 代码里看到冒号 时就说明这个语句(statement)还没说完,还有下个语句,此时后面的语句若另起一行就必须缩进。比如:

那么这后面的第4行应不应该缩进呢?

2)、判断与冒号这个语句是并列关系还是上下级关系:并列关系则应该对齐,上下级关系则应该保持缩进。

2、符号规范

等于号:==;大于等于号>=;小于等于号:<=

3、做题的时候发现if-if-else这样的结构居然也没有报错,而且还得到正确的答案,比如:

这是怎么回事呢?难道if和elif是一样的吗?通过查阅资料以及自己的测试,发现了其中的差别:

稍微解释一下,这样写表示上面是由一个单向判断和一个双向判断组成的两个判断部分,而非一个多向判断了。当a>9时,会同时执行 print ("a>9")和print ("a<=5")两个语句

三、思考题

有3个任意数a、b、c,用代码来判断三者的大小,对任意的三个数都成立

提示:使用条件嵌套,分类讨论,能够独立完成本题目说明对条件嵌套已经掌握的不错了哦~(答案获取方式,公众号回复:答案1)

欢迎在留言中留下你的答案

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值