Python入门第5章:if 语句(条件判断、逻辑运算)

张开发
2026/5/23 9:44:18 15 分钟阅读
Python入门第5章:if 语句(条件判断、逻辑运算)
文章目录Python入门第5章if 语句条件判断、逻辑运算一、为什么需要if语句二、if语句的基础语法3种形式1. 单分支if 只有“满足条件”才执行2. 双分支if-else 满足和不满足都有对应执行3. 多分支if-elif-else 多个条件逐一判断三、条件表达式的核心比较运算符四、逻辑运算组合多个条件and、or、not1. and 逻辑与所有条件都为真结果才为真2. or 逻辑或只要有一个条件为真结果就为真3. not 逻辑非取反真变假假变真逻辑运算符优先级五、if语句的嵌套进阶六、常见易错点总结必看七、实战练习巩固知识点八、本章小结Python入门第5章if 语句条件判断、逻辑运算大家好欢迎来到Python入门系列的第5章内容在前4章里我们学会了变量、数据类型、输入输出和基本运算符写的代码都是“从头到尾”顺序执行的——就像一条直路没有分支没有选择。但现实生活中我们每天都在做“判断”如果下雨就带伞否则就穿外套如果考试及格就放假否则就补课。Python程序也需要这种“判断能力”而实现它的核心就是今天要学的if语句再加上辅助判断的逻辑运算。这一章的内容不算复杂但却是Python编程的“逻辑基石”——学会if语句你才能写出有“思考能力”的程序比如判断用户输入是否正确、筛选符合条件的数据、实现简单的登录验证等。话不多说我们正式开始一、为什么需要if语句先看一个简单的场景假设我们要写一个程序判断一个学生的成绩是否及格60分及以上为及格。如果只用之前学的知识我们只能打印出成绩却无法根据成绩给出“及格”或“不及格”的判断。比如这样的代码只能输出成绩没有判断逻辑score75print(学生成绩,score)# 无法判断是否及格而有了if语句我们就能让程序“做选择”如果score 60就打印“及格”否则打印“不及格”。这就是if语句的核心作用——根据条件的真假执行不同的代码块实现程序的分支逻辑。二、if语句的基础语法3种形式Python中的if语句有3种常用形式分别对应“单分支”“双分支”“多分支”语法非常简洁核心依赖缩进4个空格或1个Tab来划分代码块这也是Python区别于其他语言的特点之一缩进错误会直接导致程序报错哦。1. 单分支if 只有“满足条件”才执行最基础的形式当条件为真True时执行缩进的代码块条件为假False时跳过代码块继续执行后面的内容。语法格式if条件表达式:条件为True时执行的代码缩进4个空格 同一代码块的代码缩进要一致注意条件表达式后面必须加冒号:这是Python的语法要求忘记加会报错。示例判断一个数是否为正数# 定义变量num10# 单分支if判断ifnum0:print(num,是正数)# 条件不满足时不执行上面的print直接执行这里print(判断结束)运行结果10是正数 判断结束如果把num改成-5条件num 0为假就会跳过print(num, “是正数”)直接输出“判断结束”。2. 双分支if-else 满足和不满足都有对应执行单分支只有“满足条件”的执行逻辑双分支则补充了“不满足条件”的逻辑——if负责“真”else负责“假”两者必执行一个。语法格式if条件表达式:条件为True时执行的代码else:条件为False时执行的代码else后面也要加冒号缩进一致示例判断成绩是否及格最常用场景score58ifscore60:print(及格继续加油)else:print(不及格需要补考哦~)运行结果不及格需要补考哦~这里的else不需要写条件它会自动承接“if条件不成立”的所有情况相当于“否则”。3. 多分支if-elif-else 多个条件逐一判断当有多个条件需要判断时单分支和双分支就不够用了。比如判断成绩等级90分及以上为优秀80-89分为良好60-79分为及格60分以下为不及格。这时候就需要用if-elif-elseelif是“else if”的简写可以写多个。语法格式if条件1:条件1为True时执行的代码elif条件2:条件1为False、条件2为True时执行的代码elif条件3:条件1、2都为False、条件3为True时执行的代码...可以有多个elifelse:所有条件都为False时执行的代码可选核心注意点程序会从上到下逐一判断条件只要有一个条件成立就执行对应的代码块然后跳过后面所有的elif和else不会重复判断。示例判断成绩等级score85ifscore90:print(优秀)elifscore80:print(良好)# 85 80成立执行这里跳过后面的判断elifscore60:print(及格)else:print(不及格)运行结果良好小贴士elif的顺序很重要如果把score 60放在最前面那么所有60分以上的成绩都会被判定为“及格”后面的优秀、良好就永远不会执行了大家一定要注意条件的顺序哦。三、条件表达式的核心比较运算符if语句的“条件”本质上是一个“布尔表达式”——计算结果只有True真或False假。而构成条件的核心就是我们之前学过的比较运算符用来比较两个值的大小或是否相等。常用比较运算符必记 等于注意是两个等号不是一个一个等号是赋值两个等号才是判断相等! 不等于 大于 小于 大于等于 小于等于易错点提醒# 错误写法用一个等号赋值不是判断ifnum10:print(num等于10)# 正确写法两个等号判断相等ifnum10:print(num等于10)另外Python支持“链式比较”比如判断一个数是否在某个区间写法非常简洁age20# 链式比较判断age是否在18到30之间包含18和30if18age30:print(青年)这等价于if age 18 and age 30:但更简洁易懂推荐使用。四、逻辑运算组合多个条件and、or、not有时候我们需要同时判断多个条件比如“年龄大于18并且身高大于170”“成绩大于60或者有加分项”。这时候就需要用到逻辑运算符将多个条件组合起来形成更复杂的判断。Python中有3个核心逻辑运算符必须牢记它们的作用和优先级1. and 逻辑与所有条件都为真结果才为真语法条件1 and 条件2规则只有条件1和条件2都为True整个表达式的结果才是True只要有一个为False结果就是False。示例判断是否为成年男性age22gender男# 同时满足年龄18并且性别是男ifage18andgender男:print(成年男性)else:print(不是成年男性)补充and还有一个“短路特性”——如果前一个条件为FalsePython不会再计算后一个条件直接返回False这样可以提升程序效率还能避免一些错误比如避免除以0。x0# x ! 0为False10/x不会执行避免报错ifx!0and10/x1:print(满足条件)2. or 逻辑或只要有一个条件为真结果就为真语法条件1 or 条件2规则条件1和条件2中只要有一个为True整个表达式的结果就是True只有两个都为False结果才是False。示例判断是否满足优惠条件消费满100元或者是会员consume80is_memberTrue# 满足一个条件即可消费100或者是会员ifconsume100oris_member:print(可以享受优惠)else:print(不满足优惠条件)运行结果可以享受优惠因为is_member为Trueor也有短路特性——如果前一个条件为TruePython不会再计算后一个条件直接返回True。3. not 逻辑非取反真变假假变真语法not 条件规则将原来的条件结果取反True变成FalseFalse变成True。常用于“否定某个条件”。示例判断一个数不是负数num5# 判断num不是负数即num 0ifnotnum0:print(num,不是负数)运行结果5 不是负数逻辑运算符优先级当一个条件中有多个逻辑运算符时优先级从高到低为not and or。如果表达式比较复杂建议用括号括起来避免歧义也更易读。# 优先级not and orprint(TrueorFalseandFalse)# 等价于 True or (False and False)结果为Trueprint((TrueorFalse)andFalse)# 加括号改变优先级结果为False五、if语句的嵌套进阶当判断逻辑比较复杂有“层级关系”时我们可以在if或elif、else的代码块中再嵌套一个if语句这就是“嵌套if”。示例判断一个数是否为偶数并且是正数先判断是否为正数再判断是否为偶数num12ifnum0:print(这是一个正数)# 嵌套if在正数的基础上判断是否为偶数ifnum%20:print(并且是偶数)else:print(但不是偶数)else:print(这不是正数)运行结果这是一个正数 并且是偶数小贴士嵌套if不要嵌套太深建议不超过3层否则代码会变得混乱不易阅读和维护。复杂逻辑可以尝试用逻辑运算符组合或者拆分代码块。六、常见易错点总结必看入门阶段大家写if语句很容易踩坑这里总结4个最常见的错误帮大家避坑忘记加冒号:if、elif、else后面必须加冒号否则会报语法错误。缩进错误同一代码块的缩进必须一致推荐4个空格缩进多了或少了都会报错IndentationError。用“”代替“”把赋值符号当成判断相等的符号这是最容易犯的错误一定要记住“才是判断相等”。elif顺序错误多分支中条件范围大的要放在后面否则会覆盖前面的条件比如把score 60放在最前面会导致优秀、良好的判断失效。七、实战练习巩固知识点学完知识点一定要动手练习才能真正掌握。这里给大家3个练习题目从简单到复杂大家可以自己写代码试试简单输入一个年龄判断是否为成年人18及以上为成年输出对应提示。中等输入一个成绩用多分支判断等级90优秀80-89良好60-79及格60以下不及格。进阶输入一个年份判断是否为闰年闰年规则能被4整除但不能被100整除或者能被400整除可以用嵌套if或逻辑运算符实现。练习答案会放在下一章的开头大家可以先自己尝试不要直接看答案哦~八、本章小结本章我们学会了Python中实现“判断逻辑”的核心——if语句包括3种基本形式单分支、双分支、多分支以及辅助组合条件的逻辑运算符and、or、not还有比较运算符的正确使用。核心要点回顾if语句的核心是“条件判断”根据条件真假执行不同代码块依赖缩进和冒号。比较运算符是构成条件的基础记住“是判断是赋值”。逻辑运算符用于组合多个条件优先级not and or复杂逻辑加括号。嵌套if用于复杂层级判断避免嵌套过深。if语句是Python编程中最常用的结构之一下一章我们会学习循环语句for、while结合if语句就能写出更复杂、更强大的程序啦如果大家在练习中遇到问题欢迎在评论区留言我会一一解答。我们下一章再见

更多文章