Python之程序控制语句第一部分:if条件判断语句。
程序代码除了从第一行代码开始依次往下运行外,还存在多种不同走向的运行方式。一共有3种不同的语法的运行方式,这些语句分别是条件判断语句、循环语句和异常处理语句。
这篇我们就先介绍第一种:条件判断语句,
条件判断语句
在条件判断语句当中,代码运行的走向是根据条件来决定运行哪行代码,一共是涉及3种语句,分别是if语句、if+else语句和if+elif+else语句。
1.1 if语句
if语句代码执行的走向会存在两种情况:

第 1 种情况,程序按顺序开始执行代码 1,遇到条件表达式,开始判断该表达式是否满足条件,若满足条件则开始执行代码 2,执行完代码 2 后程序结束。
第 2 种情况,程序按顺序开始执行代码 1,遇到条件表达式,开始判断该表达式是否满足条件,若不满足则跳过代码 2 直接开始执行代码 3,执行完代码 3 后程序结束。
在使用 if 语句前,需要了解 if 结构的相关描述,具体有以下 4 点:
第 1 点,if 是 Python 中的保留字。
第 2 点,条件判断表达式用于判断条件是否满足,可以是条件表达式或判断语句。
第 3 点,条件判断表达式后面有一个冒号,切勿忽略。
第 4 点,代码 2 中至少包含 1 行代码,且不能和 if 对齐编写,需要缩进一个级别,默认一个级别为 4 个空格。
当条件满足时执行代码 2,条件判断语句有以下 7 种情况(A 和 B 分别表示代码中的数据)。
第 1 种,A==B。如果 A 的值和 B 的值完全相等则满足条件,A==B 执行后返回 True(真)。如果不相等则不满足条件,返回 False(假)。这里 A 和 B 可以是任何数据类型的数据,其中 == 表示判断是否相等,而不是将 B 的数据存储到 A,存储和 == 的含义是不同的。
第 2 种,A>B。如果 A 的值大于 B 的值则满足条件,返回 True。如果 A 的值不大于 B 的值则不满足条件,返回 False。
第 3 种,A>=B。如果 A 的值大于或等于 B 的值则满足条件,返回 True。如果 A 的值不大于或等于 B 的值则不满足条件,返回 False。
第 4 种,A<B。如果 A 的值小于 B 的值则满足条件,返回 True。如果 A 的值不小于 B 的值则不满足条件,返回 False。
第 5 种,A<=B。如果 A 的值小于或等于 B 的值则满足条件,返回 True。如果 A 的值不小于或等于 B 的值则不满足条件,返回 False。
第 6 种,A!=B。如果 A 的值和 B 的值不相等则满足条件,返回 True。如果 A 的值与 B 的值相等则不满足条件,返回 False。
第 7 种,表达式。如果条件判断语句是一个表达式,则先计算出该表达式的值是否为 0,如果计算结果不为 0 则满足条件并返回 True。如果计算结果为 0 则不满足条件并返回 False。
print('代码1') if 1 == 2: print('代码2') print('代码3')

!!!在该程序中,if 条件判断语句后有一个冒号,第 3 行代码是 if 结构内的代码,条件满足则运行该行代码,条件不满足则不运行该行代码,因此第 3 行代码需要缩进。缩进的空格个数没有严格要求,只要保证代码文件中每缩进一次的空格个数是相同的即可,一般默认缩进 4 个空格,即一个制表符。!!!
1.2布尔值
布尔值类型也是一种数据类型,不同于其他数据类型,例如整数类型数据从负整数到正整数可以无限取值,但布尔值类型数据只有 True 和 False 两个值。而条件判断表达式执行后的结果只有两种情况,即满足和不满足,因此可以使用布尔值来表示条件判断表达式的结果。
print(1+1<3) print(1+1>3)

布尔值类型的数据往往用于表示条件判断的结果,或事物只有两种结果的情况。可以直接将布尔值赋值给变量,例如flag=True,表示变量 flag 中存储了数据 True。
1.3 if+else语句
if+else 语句是在 if 语句基础上的扩充,其代码执行的走向会存在两种情况。

第 1 种情况,程序开始执行代码 1,接下来判断条件是否满足,若条件满足则执行代码 2,接着执行代码 4。
第 2 种情况,程序开始执行代码 1,接下来判断条件是否满足,若条件不满足则执行代码 3,最后执行代码 4。
与 if 语句的区别在于:当条件不满足时,if+else 语句会执行代码 3,而单独的 if 语句不考虑条件不满足的情况。else 是 Python 语言中的保留字,表示当条件不满足时,执行 else 所包含的代码块(这与人类语言中 “如果……,就……” 和 “否则……,就……” 结构的本质相同)。
a = input('今年是哪年:\n') if a == '2026': print('答对了') else: print('答错了')

!!!注意:input () 用于获取用户输入的信息,这些信息均默认为字符串类型的数据,因此 if 条件判断语句中的 3 需要加引号。!!!
1.4 if+elif+else
if+elif+else 语句是在 if+else 语句基础上的扩充,其代码执行的走向存在 3 种情况。

第 1 种情况:程序执行代码 1,判断条件 1 满足→执行代码 2→执行代码 5。
第 2 种情况:程序执行代码 1,判断条件 1 不满足→判断条件 2 满足→执行代码 3→执行代码 5。
第 3 种情况:程序执行代码 1,判断条件 1 不满足→判断条件 2 不满足→执行代码 4→执行代码 5。
与 if+else 语句的区别:当条件不满足时,if+elif+else 语句可继续判断是否满足另一个条件。elif是 Python 保留字,表示当 if 右边的条件不满足时,继续判断 elif 右边的条件是否满足。
a = int(input('请输入年龄:\n')) if a < 10 : print('儿童') elif a < 18 : print('青少年') else : print('成年人')

1.5多个elif语句
当需要对多个条件进行判断时,可以插入多个elif语句
对于多个elif语句,需要按照顺序依次判断elif条件判断表达式是否满足。当条件判断表达式满足时,则执行相应的代码块。当所有的条件判断表达式都不满足时,则执行else部分的代码块。
a = int(input('请输入年龄:\n')) if a < 10 : print('儿童') elif a < 18 : print('青少年') elif a < 30: print('青年') elif a < 59 : print('中年') else : print('老年')

1.6条件判断语句的嵌套
条件判断语句中的代码块也可以包含一个或者多个条件判断语句。
a = int(input('请输入年龄:\n')) if a < 10 : if a < 0 : print('你还没出生') else: print('儿童') elif a < 18 : print('青少年') else : print('成年人')

!!!注意:由于语句中又嵌套了一个if语句,因此嵌套语句的代码块需要整体缩进,每个代码块都于其本身隶属的if语句缩进一个制表符。这里第 4 行和第 6 行的代码块都缩进了两个制表符,因为第 4 行的代码块隶属于第 3 行的if语句,所以相对于第 3 行的if语句需要缩进一个制表符。而第 3 行的if语句又是第 2 行if语句的代码块,因此相对于第 2 行的if语句也需要缩进一个制表符。!!!
1.7 多个条件判断语句
当一次需要判断多个条件时,可以使用保留字 and 和 or。
当需要判断满足条件 A 的同时还满足条件 B 时,可以使用 and 语句将条件 A 和条件 B 连接起来。当需要判断满足条件 A 和条件 B 中的一个条件时,可以使用 or 语句将条件 A 和条件 B 连接起来。
a = int(input('请输入0-9其中一个数字:\n')) if a > 3 and a < 8 : print('选择的数在3-8') if (a > 3 or a < 8) : print('选择的数比3大或者比8小')

当需要判断满足条件 A 和条件 B 中的一个条件时,可以使用 or 语句将条件 A 和条件 B 连接起来。
a = int(input('请输入0-9其中一个数字:\n')) if a<3 or (a<8 and a>5): print(a,'这个数小于3或者在5~8的范围内')

1.8 if+else 语句的复合写法
a = int(input('请输入一个数:')) b = int(input('请再输入一个数:')) c = (a+b)if a>b else (b-a) print(c)

OK啊,以上就是条件判断语句的基本用法。
日记
1月14日,星期三,晴,心情:想要吐槽,
吐槽一下我的队友。
昨天下载的文明6终于下载好了,可以好好玩一玩了。
今天发现别人写的博客流量都好多,现在ZEEKLOG有创作激励,每天发一张流量券,我用流量券昨天的才涨100人,我都怀疑有官方水军注水。别人写的一篇博客浏览量600多,已经是让我仰望的存在了。感觉自己就像一个差等生。这又让我想到我的高一生活了,当年中考进学校800多名,然后开学一个月死命学,在第一次月考到400名,期中考试300名,然后第三次月考冲的最猛,一下干到100多名去了,我发现我每年的11月份学习状态都很强啊。后来我反思了一下,因为一般这个时候评三好学生,我学到很有干劲,高中三年年年拿三好学生,可惜大学废了,我大学自学就是不行,从2020年疫情就能看出来,上网课学不下去,但是我理解能力很好的弥补了这一点,学到的知识掌握的非常快,我记得很清楚,疫情结束开学考试,我直接干到年级100多名,亏我还因为班主任线下查作业发现我没怎么写,把我骂的要死,回家以后心情低落以为自己不是学习的这块料。嘿嘿,别人也不咋地嘛。
昨天写到一点,我看自习室没人了,还以为别人写那么多,一问才知道他们是跳着写知识点的,我是按部就班一个知识点不落的,其实这篇博客说是发出来给别人参考学习的,我感觉更像我自己的学习笔记,今天刷题的时候有一题问Python的保留字有多少,这个知识点正好在2.2.1.3变量名称规则3变量名不能和保留字相同当中有提到,也算是进一步巩固自己的知识点了,所以现在我进度比别人慢也无所谓了,一步一步慢慢来。毕竟我是准备天天写一篇的。
今天我还要挂上我打王者的两局遇到的逆天队友。
我真不知道是MVP拿多了,还是经常拿金牌,遇到的队友是真不如AI接管。第一把还行,只是人菜心不坏,我应该是遇到小学生放寒假了,有人带表弟打,但是他表弟位置是辅助想玩打野,他哥就让他玩澜打野,自己玩宫本辅助。结果开局对面辅助小龙人,加中路杨玉环中线不吃进蓝区,他满状态有惩戒直接被吓到蜥蜴开,我看了不行啊,从下路跑半个图去看野区,结果这个废物,打蜥蜴又不好好打,打半天又拉脱了,最后蓝buff被反了,buff被反了才知道反打,自己一级又送了一血,完了我支援过来没留住人,自己还亏一波完整线,然后对面4级打野进红区打我们家一级的澜。这不纯搞笑吗?我问辅助宫本为什么不帮野区,他说我表弟要玩打野,我刚才正在哄他。我真无语了,早不决定好,现在我亏一整波线,打野0buff开,辅助宫本又不当辅助玩,射手全程被压到死。好端端的一局全被搅乱了。
我真不是嫌他菜,而是希望以后带小朋友开小号,段位太高了对不会玩的人来说不然去看直播,见人就得跑,钱又吃不到,全程泉水挂机,给对面送几个大爹出来。带他们打打白银黄金多好,别用大号带小朋友谢谢!
第二把那队友就纯是人就是坏的,想玩辅助拿打野匹配,然后悄咪咪选第二个辅助埋伏队友。我一开始没在意,一分半防打野来抓,我看看自家打野在哪,nm,我们家打野在下一把。原本打野位选了个桑启一直跟妲己屁股,结果这把射手一个辅助,妲己一个辅助。我打字问一下打野是谁,这桑启直接跳出来:那咋了,这是匹配你掉星啦。射手讲了他两句,匹配玩得不开心玩什么游戏,结果桑启说,你玩得不开心我开心就行了。那以我的攻击力,那肯定让他晚上跪着守灵堂加排队领盒子装灰,别一大家子的灰全被别人滋成泥了。而且这把有趣的是,这两个辅助都买了星泉,但是辅助装公用CD,所以他两就抢着给自家奶星泉,不让别人用,我攻击完了就在旁边看戏。
这两把队友我就拉到我的日记里面吐槽一下,游戏就是游戏,放松一下,别当真就行。
今天的日记差不多就到此结束,吐槽一下这两个队友,也算能睡个好觉了。