Python运算符与流程控制:if条件判断 Python运算符与流程控制if条件判断上一篇我们学习了变量和数据类型本篇将学习运算符和if条件判断让程序具备「思考」和「决策」的能力。一、Python运算符1. 算术运算符运算符描述示例结果加法5 38-减法5 - 32*乘法5 * 315/除法结果为float5 / 22.5//整除向下取整5 // 22%取余5 % 21**幂运算2 ** 38print(10/3)# 3.3333333333333335print(10//3)# 3print(10%3)# 1print(2**10)# 1024# 负数整除注意向下取整不是向零取整print(-5//2)# -3不是-22. 比较运算符运算符描述示例结果等于5 5True!不等于5 ! 3True大于5 3True小于5 3False大于等于5 5True小于等于5 3Falsea,b10,20print(ab)# Falseprint(a!b)# Trueprint(ab)# False# 字符串也可以比较按ASCII码print(abcabd)# Trueprint(Aa)# True大写字母ASCII码更小3. 逻辑运算符运算符描述示例结果and与两边都为True才为TrueTrue and FalseFalseor或一边为True就为TrueTrue or FalseTruenot非取反not TrueFalseage20has_ticketTrue# 同时满足两个条件ifage18andhas_ticket:print(可以入场)# 满足任一条件is_weekendTrueis_holidayFalseifis_weekendoris_holiday:print(今天休息)# 取反is_rainingFalseifnotis_raining:print(可以出门)短路求值# and左边为False时右边不执行deffunc():print(函数被调用了)returnTrueresultFalseandfunc()# func不会被调用print(result)# False# or左边为True时右边不执行resultTrueorfunc()# func不会被调用print(result)# True4. 赋值运算符运算符描述示例等价于简单赋值a 5-加后赋值a 3a a 3-减后赋值a - 3a a - 3*乘后赋值a * 3a a * 3/除后赋值a / 3a a / 3//整除后赋值a // 3a a // 3%取余后赋值a % 3a a % 3**幂后赋值a ** 3a a ** 3count0count1# 等价于 count count 1count*2# 等价于 count count * 2print(count)# 25. 成员运算符与身份运算符# 成员运算符in / not infruits[苹果,香蕉,橙子]print(苹果infruits)# Trueprint(葡萄notinfruits)# True# 身份运算符is / is not比较内存地址a[1,2,3]ba c[1,2,3]print(aisb)# True同一个对象print(aisc)# False值相同但不是同一个对象print(ac)# True值相等⚠️比较的是值是否相等is比较的是是否为同一个对象内存地址相同。6. 运算符优先级从高到低**幂运算x, -x, ~x正负号、按位取反*, /, //, %, -比较运算符, !, , , , notandor建议不确定优先级时用括号()明确表达代码更清晰。二、if条件判断1. 基本if语句age18ifage18:print(你已经成年了)⚠️ Python用缩进通常4个空格表示代码块不用大括号{}。2. if-else语句age16ifage18:print(你已经成年了)else:print(你还未成年)3. if-elif-else语句多分支score85ifscore90:gradeAelifscore80:gradeBelifscore70:gradeCelifscore60:gradeDelse:gradeFprint(f你的等级是:{grade})# B⚠️ elif是else if的缩写条件从上到下判断满足一个就不再判断后面的。4. 嵌套if语句age20has_idTrueifage18:ifhas_id:print(可以进入网吧)else:print(请出示身份证)else:print(未成年人禁止进入)5. 三元表达式简洁写法# 普通写法ifage18:status成年else:status未成年# 三元表达式status成年ifage18else未成年print(status)三、实战简易计算器print( 简易计算器 )num1float(input(请输入第一个数: ))opinput(请输入运算符( - * /): )num2float(input(请输入第二个数: ))ifop:resultnum1num2elifop-:resultnum1-num2elifop*:resultnum1*num2elifop/:ifnum20:print(错误除数不能为0)exit()resultnum1/num2else:print(错误不支持的运算符)exit()print(f结果:{num1}{op}{num2}{result})运行示例 简易计算器 请输入第一个数: 10 请输入运算符( - * /): * 请输入第二个数: 5 结果: 10.0 * 5.0 50.0四、常见坑点缩进错误Python严格依赖缩进同一代码块缩进必须一致混淆和是赋值是比较if后忘记冒号if condition:末尾必须有冒号浮点数比较浮点数有精度问题不要直接用比较print(0.10.20.3)# False# 正确做法比较差值是否足够小print(abs(0.10.2-0.3)1e-9)# True空值判断用if x is None而不是if x None五、课后练习编写程序输入一个年份判断是否为闰年能被4整除但不能被100整除或能被400整除编写程序输入三个数按从小到大的顺序输出编写程序输入一个月份输出该月份有多少天考虑闰年2月六、小结本篇学习了Python的各类运算符算术、比较、逻辑、赋值、成员、身份和if条件判断的三种形式。运算符是程序的基础if语句让程序具备了决策能力。下一篇我们将学习循环结构让程序能重复执行。下一篇预告《Python循环结构for与while的用法及区别》本专栏持续更新中欢迎点赞、收藏、关注三连支持

相关新闻

最新新闻

base_dao.py:DAO 基类与通用 CRUD 模板|信息化项目全流程管理系统源码逐行精讲(九)

base_dao.py:DAO 基类与通用 CRUD 模板|信息化项目全流程管理系统源码逐行精讲(九)

base_dao.py:DAO 基类与通用 CRUD 模板|信息化项目全流程管理系统源码逐行精讲(九) 本系列文章配套完整源码,已开源至 GitCode:https://gitcode.com/u010972645/IAS-ProjectArchiveSystem 读者可克隆或下载 ZIP 包,配合本系列文章逐行学习。每篇文章对应源码中的具体文件…

2026/8/20 12:11:19
网盘直链下载助手LinkSwift:告别龟速与客户端绑架,浏览器一键直达真实下载地址

网盘直链下载助手LinkSwift:告别龟速与客户端绑架,浏览器一键直达真实下载地址

网盘直链下载助手LinkSwift:告别龟速与客户端绑架,浏览器一键直达真实下载地址 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘…

2026/8/20 12:11:19
拼多多笔试真题 - 子阵容量三角(C++/Py/Java /Js/Go)

拼多多笔试真题 - 子阵容量三角(C++/Py/Java /Js/Go)

子阵容量三角 拼多多技术岗 8月16号笔试 第一题 题目内容 地面光伏电站在做容量预测时,需要从标称容量集合 { 1,2,…,n}\{1,2,\ldots,n\}{ 1,2,…,

2026/8/20 12:11:19
免费开源音乐播放器LX Music:一个软件听遍全网,新手到进阶的完整指南

免费开源音乐播放器LX Music:一个软件听遍全网,新手到进阶的完整指南

免费开源音乐播放器LX Music:一个软件听遍全网,新手到进阶的完整指南 【免费下载链接】lx-music-desktop 一个基于 Electron 的音乐软件 项目地址: https://gitcode.com/GitHub_Trending/lx/lx-music-desktop 为一首歌同时打开三四个音乐 App、来…

2026/8/20 12:11:19
Flask与FastAPI深度对比:从核心特性到实战选型指南

Flask与FastAPI深度对比:从核心特性到实战选型指南

在 Python Web 开发领域,Flask 和 FastAPI 是当前最受关注的两个框架。许多开发者在启动新项目时,都会面临一个经典的选择题:是选择久经沙场、生态成熟的 Flask,还是拥抱性能卓越、现代感十足的 FastAPI?这个选择并非简…

2026/8/20 12:11:19
Android开发 系统输入法键盘切换的核心逻辑

Android开发 系统输入法键盘切换的核心逻辑

Android开发 系统输入法键盘切换的核心逻辑 核心代码(以切换到Gboard为例): //切换输入法 Settings.Secure.putString(getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD,"com.google.android.inputmethod.latin/com.android.inputmethod.latin.Lat…

2026/8/20 12:06:18