内容正文:
任务 2.2
计算碳减排指标
程序设计基础——Python
(高等教育出版社)
——逻辑、成员、身份运算符与运算符优先级
学习目标
能说出逻辑、成员、身份三类运算符的功能,复述 is 与 == 的区别以及运算符优先级表的排列顺序。
能判断含多个运算符的表达式的运算顺序,能运用成员与身份运算符完成条件判断类计算。
在先括号、后运算的严谨推算中,养成按规则办事、逐步验证的计算习惯。
1
2
3
知识目标
技能目标
素质目标
目录
模块一 · 逻辑运算符与成员运算符
模块二 · 身份运算符与运算符优先级
模块三 · 碳减排指标计算与任务实施
教学引入
知识讲授
python逻辑运算符
Python 提供三个主要逻辑运算符:and(两个条件都为 True 才为 True)、or(任一条件为 True 即为 True)以及 not(对布尔值取反),并且它们都支持短路求值。
逻辑运算符与成员运算符
第一部分
知识讲授
逻辑运算符
知识讲授
Python中的短路设计
Python也采用了“短路”设计。“短路”指”逻辑与”和“逻辑或”在计算过程中只要结果确定,则不再计算后面的表达式,从而提高效率,有点像电路短路。
知识讲授
逻辑运算符
逻辑与全为 True 才 True,逻辑或任一为 True 则 True,逻辑非对布尔值取反。
记忆口诀
记忆要点:and 像两个都要,or 像有一个就行,not 像反过来说。
知识讲授
非布尔值的运算规则
操作数不是布尔值时,先隐式转成布尔值再参与运算。
知识讲授
案例演示
逻辑与:当两侧都为 True 时, 结果才为 True 。其它结果为 False 。
逻辑或:或运算两个值中只要有一个True,就会返回True
知识讲授
案例演示
not 逻辑非结果只有 True 和 False
not可以对符号右侧的值进行非运算
对于布尔值,非运算会对其进行取反操作,True变False,False变True
对于非布尔值,非运算会先将其转换为布尔值,然后再取反。
字符串,有内容为True,空字符串为False.
数字,0 为 False ,其它 为 True .
知识讲授
成员运算符 in 与 not in
成员运算符是一对互补运算符,用于判断元素是否在容器中。
示例
知识讲授
成员运算符 in 与 not in
背诵记忆
序号 核心考点 记忆要点与核心解析
01 and 逻辑与 全为 True 才返回 True;非布尔值返回第一个假值
02 or 逻辑或 任一为 True 则 True;非布尔值返回第一个真值
03 not 逻辑非 对布尔值取反,固定返回 True/False;not 0 得 True
课堂练习
例题1(单选)下列表达式中,结果为 True 的是( )。A. 3 > 2 and 2 < 4 B. not (6 == 6) C. [] or "" D. 0 and 10
【答案】A
【解析】两个条件都为 True,and 才返回 True。
例题2(填空)设 s = "hello python",则 "python" in s 的结果是 ________,"java" not in s 的结果是 ________。
【答案】True;True
身份运算符
第二部分
知识讲授
运算符优先级
知识讲授
身份运算符
知识讲授
代码演示:
知识讲授
运算符优先级总表
表达式由运算符与操作数组成,多个运算符按优先级从高到低依次运算。
知识讲授
逻辑运算符的优先顺序
知识讲授
代码演示:
在位运算优先级中,优先级从高到低大体是:算术运算符位运算符→关系运算符→逻辑运算符→赋值运算符。
背诵记忆
序号 名称 核心说明与记忆要点
01 身份运算符 Python 身份运算符is/is not用于判断两个标识符是否引用同一个对象(内存地址是否相同),而非判断值是否相等。
02 逻辑运算符优先级 Python 逻辑运算符优先级:not 最高,and 次之,or 最低,同级从左向右运算。
课堂练习
例题1(单选)下列关于 is 与 == 的说法,正确的是( )。
A. is 判断值是否相等 B. == 判断地址是否相同 C. is 判断是否同一对象 D. 二者完全等价
【答案】C
【解析】== 只看内容,is 只看地址,二者并不等价。
例题2(填空)执行 a = 10、b = a、c = 10 后,print(a is b) 输出 ________,print(a is not c) 输出 ________。
【答案】True;False
实战:碳减排指标计算
第三部分
知识讲授
实战操作演示
知识讲授
碳减排指标计算
知识讲授
思路分析:碳减排指标计算
知识讲授
思路分析:碳减排指标计算
计算要点
占比先除后乘、同级从左到右;输出保留 1 位小数更规范。
知识讲授
任务实施:碳减排指标计算
# 基础数据定义
recycle_waste = 2.5 # 可回收垃圾重量,单位kg
kitchen_waste = 3.0 # 厨余垃圾重量,单位kg
other_waste = 1.5 # 其他垃圾重量,单位kg
harmful_waste = 0.2 # 有害垃圾重量,单位kg
carbon_reduce_coeff = 2.0 # 碳减排系数(教学简化值)
# 各种指标计算
total_waste = recycle_waste + kitchen_waste + other_waste + harmful_waste # 四类垃圾总重量
recycle_rate = recycle_waste / total_waste * 100 # 可回收垃圾占总垃圾的百分比
kitchen_rate = kitchen_waste / total_waste * 100 # 厨余垃圾占总垃圾的百分比
other_rate = other_waste / total_waste * 100 # 其他垃圾占总垃圾的百分比
harmful_rate = harmful_waste / total_waste * 100 # 有害垃圾占总垃圾的百分比
carbon_reduce = recycle_waste * carbon_reduce_coeff # 可回收垃圾带来的碳减排量
知识讲授
任务实施:碳减排指标计算
# 输出结果
print("===== 校园垃圾分类碳减排量计算结果 =====")
print(f"垃圾总重量:{total_waste} 千克")
print(f"可回收物占比:{recycle_rate:.1f}%")
print(f"厨余垃圾占比:{kitchen_rate:.1f}%")
print(f"其他垃圾占比:{other_rate:.1f}%")
print(f"有害垃圾占比:{harmful_rate:.1f}%")
print(f"碳减排量:{carbon_reduce:.1f} 千克 CO₂")
课堂练习
检测1(判断)在 Python 中,is 运算符与 == 运算符的作用完全相同,可以互相替换。( )
【答案】×
【解析】== 比较值(内容),is 比较内存地址,作用不同。
检测2(单选)下列关于逻辑运算符的说法,正确的是( )。
A. and 在全为 True 时返回 False B. or 在任一为 True 时返回 True C. not 取反后返回原值 D. and 与 or 作用一样
【答案】B
【解析】or 任一为 True 则返回 True。
分组讨论
分组讨论 · 三类判断各用哪类运算符
讨论问题
系统要判断「重量大于 0 且碳减排量达标」,还要判断「类别在允许的四类之中」,各用哪类运算符?
① 「重量大于 0」用哪类运算符?
② 两个条件都要满足怎么写?
③ 「类别在四类之中」用 in 还是 is?
④ 「或者有害垃圾为 0」怎么组合?
汇报要求
各组派代表汇报表达式,并说明选择运算符的依据。
a
知识拓展
拓展深化(二)· 借助 AI 检查表达式
编写表达式时若不确定是否正确,可以把表达式发给 AI 工具检查。
使用提醒
AI 的结论要回到优先级表与本节示例中验证,重点分清「错在优先级还是错在符号」。
知识小结
课后任务
布置作业:
1.绘制本课思维导图,梳理逻辑、成员、身份三类运算符的用法和运算符优先级的排列顺序。
2.完成课件配套练习题。
3.拓展任务:模拟校园碳减排统计,用逻辑运算符和成员运算符编写2条条件判断代码,写出一组混合运算符表达式并推演其运行结果。
谢谢观看
THANKS
Lavf59.14.100
Lavf59.14.100
$