ftl if else判断_07.合意就执行,不行就拉倒-if/else条件控制(一)
青少年、零基础、初学者Python编程从入门到精通,“老马带小马 一块学Python”编程系列。
先来认识一下本节将涉及到的几个Python关键字:
- if:英文意思是“如果、假若”,它将是本节学习的重点。
- else:英文意思是“其他的、另外的”,一般与if配合使用。
- elif:相当于“else + if”的组合,表达“另外,如果”的意思,与if配合使用。
- and:英文意思是“和、与”,在Python中作为逻辑操作符,表示“并且”的意思。
- or:英文意思是“或者”,在Python中作为逻辑操作符,表示“或者”的意思。
- True:英文意思是“真实的,确实的”,在Python中属于一种数据类型(“布尔类型”),且表示“真”。
- False:英文意思是“不真实的,不确实的”,在Python中属于一种数据类型(“布尔类型”),且表示“假”,与True相反。“布尔类型”与“整型”(代表着整数)、“浮点型”(代表着小数)一样,代表了一类数据,且“布尔类型”只有两个值:True和False。
先通过下面的例子了解一下“if”的使用:
chengji
- 第1行,赋值chengji变量为88;
- 第2行,在“if”后、“:”(再次提醒必须是英文冒号)前,有一个条件判断表达式,比如在这里,条件判断表达的意思是:“chengji大于等于60”,要是满足了这个条件,电脑就会执行“:”下面缩进的程序块,即打印出“及格!”,要是不满足这个条件,就不会执行“:”下面缩进的程序块。
- 第3行,紧跟在if语句的“:”后面,并缩进排版,为从属于第二行if的程序块,要是if行的条件判断不满足,则该行代码不会执行。
接着,介绍一下常见的比较运算符:
- <:小于,要是运算符左侧的数小于右侧的数,则表达式条件判断正确,我们则可以说这个表达式为真或True,比如:“1<2”这个表达式则为True,或者说这个表达式的值为True。
- <=:小于等于,要是左侧的数大于右侧的数,则表达式条件判断为假,我们则可以说这个表达式为假或False,或者说这个表达式的值为False。
- >:大于
- >=:大于等于
- ==:等于,我们前面章节提到过,一个等于,即“=”,表示赋值操作,把右侧的值赋值给左侧的变量,而“==”,两个连写的等于则表示条件判断,判断左侧的数是否等于右侧的数,若相等则为True,否则为False。
- !=:不等于
再通过下面的例子看看“if”与“else”的配合使用:
chengji
- 第1行至第3行与上面的例子是一样的,当if后面的条件判断为True时(即chengji满足大于等于60时),则执行if下面的程序块,即打印“及格!”,若不满足,则从属于if的程序块不会执行。
- 第4行,需要注意的是“else”必须与“if”对齐,意味着两者是并列的,而且两者是二选一的关系,且“else”后面也有个“:”,意味着紧跟着的、缩进的代码属于“else”的程序块。
- if与else二选一的关系,意味着要是if后的条件判断为True,则执行完从属于if的程序块后,后面的else以及从属于else的程序块都会直接跳过,不会被执行;而要是if后面的条件判断为False,从属于if的程序块不会被执行,而是直接跳到从属于else的程序块,打印出“不及格!”。建议大家可以按照上一节学到的程序调试方法,通过给chengji设置不同的值,实际单步调试、跟踪一下不同条件判断情况下程序的执行路径,能够更清晰本节我们讲到的条件控制语句。
接下来,再通过下面的例子看看“if-elif-else”的配合使用:
chengji
上述程序的执行流程是这样的:执行第1行->执行第2行->执行第4行->执行第5行,然后整个程序运行完毕、退出。
从以上代码中可以看得出来,对于条件控制语句,第一个条件判断总是使用“if”关键字,“if”之后、“else”之前要是还有其他条件判断,则一律采用“elif”关键字,这三个关键字组成了一个完整的“if-elif-else”控制块,而且所有这些关键字必须是严格对齐的;另外,从上面的执行流程中可以看得出来,程序执行时,只要有“else”存在,程序一定且只会执行一次从属于if、elif或者else的程序块。对于if或者elif行,只要其后的条件满足(即为True),则执行完毕其下的程序块后,立即跳出整个“if-elif-else”控制块,如果if以及elif语句中的条件均不满足,才会执行else下的程序块。
接下来,我们从另外一个角度再仔细分析一下上述代码,因为chengji的取值为88,所以它其实同时满足第1、第2和第3个elif中的条件判断,即该值大于等于80,也大于等于70,同时还大于等于60,但是,因为该值首先符合了第1个elif中的条件判断(即该值大于等于80),执行完该条件判断下的程序块(即打印完毕“良好!”)后,程序就跳出整个“if-elif-else”控制块了,所以后面的条件判断即使满足要求,也不会被执行。
如上图所示,对于存在包含关系的条件判断,比如“大于等于90”所涵盖的范围,从属于“大于等于80”所涵盖的范围,而“if-elif-else”条件判断的特点是:从上至下,按顺序执行条件判断,只执行第一个符合条件的程序块,因此,为了准确、精准的匹配,对于存在包含关系的条件判断,一定要按照涵盖的范围,由小范围到大范围进行排序。还是以上一段代码为例,要是“大于等于70”排在了“大于等于80”前面,则对于88分的成绩,首先满足了“大于等于70”的条件,则执行完毕打印“中等!”,就跳出了整个“if-elif-else”控制块,导致结果判断失误。
另外一种更保险的做法就是对各项条件判断进行精准描述,避免对排序的依赖,如下所示,if及elif所在的行(连同其下所属的代码块)任意调换顺序,都不会导致结果判断失误。
if
在上面的条件判断中用到了“and”逻辑操作符,以“chengji >= 80 and chengji < 90”为例,表达的意思为“chengji大于等于80,而且同时满足小于90”,即,只有“and”左右两侧的条件都为真的情况下,“and”连接的整个表达式才为真;同理,要是由“or”连接的话,则“or”左右两侧的条件只要有一个为真,则“or”连接的整个表达式就为真。补充说明一下,对于存在“and”、“or”的表达式,之所以先进行他们两侧的条件判断,最后才进行“and”、“or”的运算,因为“逻辑操作符”的运算优先级低于“比较运算符”,就像“+-”运算符的优先级低于“×÷”一样,所以先进行“×÷”运算,后进行“+-”运算。
在本节的最后,我们总结一下“if-elif-else”条件控制的流程图,如下图所示。
07.合意就执行,不行就拉倒-if/else条件控制(一)mp.weixin.qq.com
ftl if else判断_07.合意就执行,不行就拉倒-if/else条件控制(一)相关推荐
- cpp 条件判断 大于等于_07.合意就执行,不行就拉倒-if/else条件控制(一)
青少年.零基础.初学者Python编程从入门到精通,"老马带小马 一块学Python"编程系列. 先来认识一下本节将涉及到的几个Python关键字: if:英文意思是"如 ...
- 如何判断线程池已经执行完所有任务了?
作者 | 磊哥 来源 | Java面试真题解析(ID:aimianshi666) 转载请联系授权(微信ID:GG_Stone) 很多场景下,我们需要等待线程池的所有任务都执行完,然后再进行下一步操作. ...
- 判断bat脚本已执行结束的一种方法
在实际编码场景中,可能存在需要执行完bat脚本,才接着执行下面的代码,这个时候我们就需要判断bat脚本是否执行完毕.下面将给出一种解决方法: 可在bat脚本执行完毕后生成一个文件,然后通过监控这个文件 ...
- mysql 输出判断,mysql判断_mysql判断SQL语句是否执行成功的方法
摘要 腾兴网为您分享:mysql判断SQL语句是否执行成功的方法,中国体育,智慧党建,月星家居,虚拟按键等软件知识,以及闪点卡密,proxycap,大众车联网,平顶山软件,人格测试,ok支付,美图秀秀 ...
- comparator 多个条件控制_JUnit5学习之四:按条件执行
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类和汇总,及配套源码,涉及Java.Docker.Kubernetes.DevO ...
- python条件判断练习题_条件控制练习题
条件控制练习题 1.判断日期是否合法 1.1 题目要求 使用input函数接受用户输入,用户输入月份和日期,比如"3月15日",请写程序判断这个日期是否合法,为了简化编程难度, 只 ...
- 有两个房间,一间房里有三盏灯,另一间房有控制着三盏灯的三个开关, 这两个房间是分割开的,从一间里不能看到另一间的情况。 现在要求受训者分别进这两房间一次,然后判断出这三盏灯分别是由哪个开关控制的。
有两个房间,一间房里有三盏灯,另一间房有控制着三盏灯的三个开关, 这两个房间是分割开的,从一间里不能看到另一间的情况. 现在要求受训者分别进这两房间一次,然后判断出这三盏灯分别是由哪个开关控制的. 有 ...
- 1.定义一个结构体变量(包括年、月、日),编写程序,要求输入年、月、日,程序能判断该年是否为闰年。(闰年的条件是符合下面两者之一: ①能被4整除,但不能被100整除; ②能被100整除,又能被400整
1.定义一个结构体变量(包括年.月.日),编写程序,要求输入年.月.日,程序能判断该年是否为闰年.(闰年的条件是符合下面两者之一: ①能被4整除,但不能被100整除: ②能被100整除,又能被400整 ...
- 【Dart 教程系列第 17 篇】Dart 之 every 判断数组中是否每个元素都满足指定的条件
这是[Dart 教程系列第 17 篇],如果觉得有用的话,欢迎关注专栏. Dart 判断数组中是否每个元素都满足指定的条件用 every() 方法,源代码定义如下 bool every(bool te ...
最新文章
- 欧盟AI道德准则草案出炉
- Spring Cloud Gateway 入门
- PHP获取表单值--同时获取下拉框的Value和Text值
- PHP-代码审计-XSS
- 工作中的git实际使用
- Matlab矩阵、元胞数组的合并拼接
- (八大方法、逐层深入,有你一定没见过的)使用INSERT语句向表中插入数据
- 中班音乐 机器人教案_【李小娜老师优秀教案分享】中班音乐活动小树叶教案及反思...
- LeetCode 长度最小的子数组
- javascript 笔记--变量
- (二)路径规划算法---C++结合OpenCV实现RRT算法
- Windows10怎么改分辨率?Win10分辨率设置教程(最新)
- 图解HTTP读书笔记
- #今日论文推荐# 将有色液体图像转换成透明液体,CMU教机器人准确掌控向杯中倒多少水
- 升级Windows11遇到VirtualBox兼容性问题(附解决办法)
- 【网络】Padavan固件获取运营商ipv6设置
- Ubuntu 16.04 LTS设置屏幕分辨率并永久保存所设置的分辨率
- 4个方面告诉你Stimulsoft.Drawing的作用和使用方式|附下载链接
- 0X01 ——位运算
- LTspice 电路仿真入门