news 2026/4/18 3:43:26

Python系列基础教程(三)Python比较与逻辑运算符、条件判断语句

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python系列基础教程(三)Python比较与逻辑运算符、条件判断语句

一、课程前言

程序的核心价值之一是根据不同数据执行不同逻辑,而条件判断是实现这一功能的基础。本节将先掌握用于生成判断结果的比较、逻辑运算符,再学习if、if…else、if…elif…else等分支语句,配合缩进规则完成分支逻辑编写,同时解决输入与判断结合的实际场景,为后续循环、函数等复杂逻辑奠定基础。

二、布尔值与布尔表达式基础

布尔值(bool)仅有两个取值:True(真/成立)、False(假/不成立),是条件判断的核心结果。由运算符连接形成、结果为布尔值的表达式,称为布尔表达式。

# 直接定义布尔值is_pass=Trueis_student=Falseprint(is_pass,is_student)# 布尔表达式示例(运算结果为True/False)print(10>5)print(3==4)

三、比较运算符及使用规则

比较运算符用于对比两个数据的关系,返回布尔值,是条件判断的基础单元。
常用比较运算符:>(大于)、<(小于)、>=(大于等于)、<=(小于等于)、==(等于)、!=(不等于)。
注意:=是赋值符号,==才是判断相等,不可混用。

a=10b=3print(a>b)# Trueprint(a<b)# Falseprint(a>=10)# Trueprint(a<=5)# Falseprint(a==10)# Trueprint(a!=b)# True# 字符串也可比较(按字符编码)print("apple"<"banana")# Trueprint("Python"=="python")# False(区分大小写)

四、逻辑运算符与运算优先级

逻辑运算符用于组合多个布尔表达式,实现复杂条件判断,包含and(与)、or(或)、not(非)。
优先级:not>and>or,可通过括号调整执行顺序。

# and:所有条件为True,结果才为Trueprint(5>3and10>2)# Trueprint(5>3and10<2)# False# or:任一条件为True,结果即为Trueprint(5<3or10>2)# Trueprint(5<3or10<2)# False# not:取反,True变False,False变Trueprint(not5>3)# Falseprint(notFalse)# True# 多条件组合+括号优先级print((5>3or2<1)and8>0)# True

五、条件语句的缩进语法规则

缩进是Python语法强制要求,用于区分代码层级,条件语句中必须严格遵守:

  1. 条件语句末尾需加冒号:,冒号后下一行必须缩进;
  2. 标准缩进为4个空格,不可混用空格与制表符;
  3. 同层级代码缩进必须一致,缩进不同视为不同层级。

六、单分支判断:if 语句

仅当条件为True时,执行缩进内的代码块;条件为False则跳过该代码块。
语法:if 条件表达式:+ 缩进代码块。

score=85# 单分支判断ifscore>=60:print("成绩合格")# 条件不成立,代码不执行score=50ifscore>=60:print("成绩合格")

七、双分支判断:if…else 语句

条件为True执行if代码块,为False执行else代码块,二选一执行。
语法:if 条件:+ 缩进代码块 +else:+ 缩进代码块。

age=18ifage>=18:print("已成年")else:print("未成年")# 奇偶判断num=7ifnum%2==0:print("偶数")else:print("奇数")

八、多分支判断:if…elif…else 语句

适用于3种及以上分支场景,从上到下依次判断,仅执行第一个成立的分支,最后else为默认分支(可选)。
语法:if 条件1:+elif 条件2:+ … +else:

score=78ifscore>=90:print("等级:优秀")elifscore>=80:print("等级:良好")elifscore>=60:print("等级:合格")else:print("等级:不合格")

九、条件语句嵌套使用

在一个if/else代码块内部,再编写另一个条件语句,适用于多层级判断场景,需注意缩进层级区分。

age=20is_student=Trueifage>=18:print("已成年")# 嵌套条件ifis_student:print("成年学生")else:print("成年非学生")else:print("未成年")

十、单行if简写表达式

简单双分支可使用单行表达式简化代码,仅适用于短逻辑,语法:结果1 if 条件 else 结果2

num=10result="偶数"ifnum%2==0else"奇数"print(result)score=80status="合格"ifscore>=60else"不合格"print(status)

十一、条件判断常见语法错误

  1. 遗漏条件末尾冒号:,导致语法报错;
  2. 缩进缺失或缩进不一致,触发缩进错误;
  3. 赋值符号=替代相等判断==,逻辑错误;
  4. elif 拼写错误(不可写为 else if)。

十二、input输入与条件判断结合

input获取的内容默认为字符串,数值判断需先转换类型,实现用户交互式判断。

# 成绩合格判断交互程序score=int(input("请输入成绩:"))ifscore>=60:print("成绩合格")else:print("成绩不合格")

十三、综合实战案例

整合比较、逻辑运算符、多分支、嵌套判断,实现完整的用户身份与权限判断程序。

# 综合案例:用户权限判断age=int(input("请输入年龄:"))is_vip=input("是否为VIP会员(是/否):")=="是"ifage>=18:print("已成年,可访问基础内容")ifis_vip:print("VIP会员,可访问全部内容")else:print("普通用户,仅可访问免费内容")else:print("未成年,限制访问")

十四、本课核心知识点总结

  1. 布尔表达式是条件判断的核心,结果为True/False;
  2. 比较运算符用于数据对比,==判断相等,=为赋值不可混用;
  3. 逻辑运算符and/or/not可组合多条件,优先级not>and>or;
  4. 条件语句必须以冒号结尾,缩进是区分代码块的核心规则;
  5. 单分支if满足条件执行,双分支if…else二选一,多分支if…elif…else适配多场景;
  6. 嵌套条件可实现多层判断,需严格区分缩进层级;
  7. 单行if表达式可简化简单双分支逻辑;
  8. input获取的输入需转换类型后,才能参与数值条件判断;
  9. 条件语句的常见错误集中在冒号遗漏、缩进混乱、符号混用,编写时需重点注意。

本节内容是程序分支逻辑的基础,所有示例均可直接复制执行,熟练掌握后可实现基础的判断与交互功能,为后续循环结构、数据容器、函数封装等内容提供核心逻辑支撑。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 16:18:22

致每一位在代码世界里策马奔腾的你:2026农历新年快乐

致每一位在代码世界里策马奔腾的你&#xff1a;2026农历新年快乐在0和1的旷野上&#xff0c;我们既是骑手也是骏马&#xff0c;每行代码都是踏向未来的蹄印。开篇&#xff1a;当新春钟声遇见编译通过清晨的第一缕阳光透过显示屏&#xff0c;在机械键盘上投下斑驳的光影。我——…

作者头像 李华
网站建设 2026/4/16 22:58:30

使用淘宝闪购外卖红包下单有什么限制吗?

闪购外卖红包虽能帮您省钱&#xff0c;但使用时也需注意一些限制&#xff0c;以免下单时产生困扰。首先&#xff0c;红包通常有明确的有效期&#xff0c;多数为领取当日有效&#xff0c;部分活动券可能长达3-7天&#xff0c;过期将自动失效&#xff0c;建议领取后尽快使用。 其…

作者头像 李华
网站建设 2026/4/8 22:38:05

毕业论文不用愁!四大 AI 工具实测 选题到答辩一站式通关

毕业论文的通关之路&#xff0c;从来都是步步难行&#xff1a;选题时抓耳挠腮想不出创新点&#xff0c;文献搜集熬大夜还找不准核心&#xff0c;写作时逻辑混乱卡壳到深夜&#xff0c;降重改格式反复磨还不达标&#xff0c;最后答辩准备慌手慌脚&#xff0c;连核心要点都捋不清…

作者头像 李华
网站建设 2026/3/9 23:44:12

STM32-TIM-输出比较

一、OC&#xff08;Output Compare&#xff09;输出比较 定时器的通道可以配置为输出比较模式。 在PWM输出模式下&#xff0c;除了CNT&#xff08;计数器当前值&#xff09;、ARR&#xff08;自动重装载值&#xff09;之外&#xff0c;还多了一个值CCRx&#xff08;捕获/比较寄…

作者头像 李华
网站建设 2026/4/17 8:59:45

zephyr mbox 学习

一、引言在 Zephyr RTOS 面向多核 MCU、异构 SoC 以及安全域隔离&#xff08;如 Secure / Non-secure&#xff09;的应用场景中&#xff0c;核间通信&#xff08;IPC&#xff09; 是一个绕不开的基础能力。为了在不同硬件平台之间提供统一的软件抽象&#xff0c;Zephyr 提供了 …

作者头像 李华
网站建设 2026/4/17 23:36:54

电力系统线路纵联差动保护的 Simulink 仿真及相关影响因素探究

电力系统相关&#xff1a;线路纵联差动保护simulink仿真&#xff0c;以及差动保护受因素的影响。 差动保护gui&#xff0c;手动输入参数在电力系统中&#xff0c;线路纵联差动保护是保障电力线路安全稳定运行的关键保护机制之一。今天咱们就来深入探讨一下它的 Simulink 仿真实…

作者头像 李华