(共19张PPT)
义务教育《信息科技》
6 年级下册
第一单元:奇妙的逻辑运算
第 2 课 逻辑运算
学习目标
情境引入
新知学习
项目探究
目录
1.理解逻辑运算符and, or, not的含义。
2. 培养使用逻辑运算符处理复合逻辑问题的能力。
3. 通过编程实践,将逻辑运算应用于解决实际问题。
学习目标
情境引入
博士,我发现进行一次关系运算并不能解决我所面临的逻辑问题。例如大象、犀牛比体重,可能不仅仅是因为它们年龄的大小,也可能是因为它们距上一次吃饭的时间不同。
没错,这涉及更复杂的逻辑推理。我们可以尝试使用多个关系运算来解决,通过结合多个关系运算,考虑体重、食量等因素,从而得出更准确的判断。
下面我们通过“石头、剪刀、布”游戏来学习这些知识!
新知
学习
一、游戏中的逻辑
小智跟计算机玩“石头、剪刀、布”游戏,石头胜剪刀,剪刀胜布,布胜石头。当玩家做任何手势时,都有 1/3 的获胜概率。
在游戏开始前,需要与计算机制订一个规则:小智用x表示,计算机用x1表示,石头、剪刀、布分别用数字 1,2,3表示。
出拳与输赢关系表
新知
学习
二、用Python表示逻辑
逻辑运算符有三种,分别是and(逻辑与)、or(逻辑或)、not(逻辑非)。
在 and(逻辑与)计算中,只有两边的值都为 True(真)时,结果才为True(真)。
and(逻辑与)计算规则表
新知
学习
二、用Python表示逻辑
在or(逻辑或)计算中,左右两边如果有一个值为True(真),则结果为 True(真);只有两边的值都为 False(假)时,结果才为 False(假)。
or(逻辑或)计算规则表
新知
学习
二、用Python表示逻辑
在not(逻辑非)计算中,运算符右边的值为True(真),则结果为False(假);右边的值为False(假),则结果为True(真)。
not(逻辑非)计算规则表
新知
学习
三、用Python程序实现游戏
用 Python 程序实现“石头、剪刀、布”游戏,除了要使用我们之前学习过的if、for和while语句外,还需要掌握随机函数的用法。在“石头、剪刀、布”游戏中,随机函数用于在数字1~3中随机产生一个数,来代表石头、剪刀、布。随机函数的代码如下所示:
导入random模块
ran=random.randint(n,m)产生一个[n,m]之间的整数
新知
学习
石头、剪刀、布游戏流程图
小智根据所学的Python编程知识,以及前面制作的“出拳与输赢关系表”,完成了游戏流程图和游戏参考代码的初步设计,让我们一起来看一下吧!
新知
学习
#石头、剪刀、布游戏参考代码
import random
print(′小智和计算机的游戏开始了!′)
x=int(input(′请输入石头、剪刀、布类型:石头(1),剪刀(2),布(3)′))
x1=random.randint(1,3)
if x==1 and x1==2:
print(′小智输入石头,计算机输入剪刀′)
print(′小智赢了′)
elif x==1 and x1==3:
print(′小智输入石头,计算机输入布′)
print(′计算机赢了′)
elif x==2 and x1==1:
print(′小智输入剪刀,计算机输入石头′)
print(′计算机赢了′)
elif x == 2 and x1==3:
print(′小智输入剪刀,计算机输入布′)
print(′小智赢了′)
elif x==3 and x1==1:
print(′小智输入布,计算机输入石头′)
print(′小智赢了′)
elif x == 3 and x1==2:
print(′小智输入布,计算机输入剪刀′)
print(′计算机赢了′)
elif x== x1:
print(′小智和计算机输入相同′)
print(′平局′)
项目
探究
优化游戏关系表
小智觉得关系表的内容多且复杂,造成代码的实现并不简洁,那么代码能不能精简一下呢?
再进一步观察分析,优化得到表
优化后的出拳与输赢关系表
项目
探究
优化游戏代码
我利用优化后的关系表与逻辑运算符进行了Python代码编程,完成了优化后的游戏设计哦!
#石头、剪刀、布
import random
print(′小智和计算机的游戏开始了!′)
x=int(input(′请输入石头、剪刀、布类型:石头(1),剪刀(2),布(3)′))
x1=random.randint(1,3)
if x-x1==-1 or x-x1==2:
print(′小智=′,x, ′计算机=′,x1)
print(′小智赢了′)
elif x-x1==-2 or x-x1==1:
print(′小智=′,x, ′计算机=′,x1)
print(′计算机赢了′)
elif x== x1:
print(′小智=′,x, ′计算机=′,x1)
print(′平局′)
1. 如果还要对“石头、剪刀、布”游戏的代码进行优化,使它可
以重复运行,则要使用Python语言中的( )。
A.if条件语句 B.while循环语句
C.print语句 D.关系运算符
2.关于逻辑运算符的使用,下列说法正确的是( )。
A.and左右两边如果仅有一个值为False,则结果为False
B.a=20,b=30,那么print(a and b)运行结果为30
C.逻辑运算符用于两个对象比较
D. 在 Python 中,任何数值类型的1或空字符串都会被当成False
一、知识检测
操作练习
拓展
阅读
如下所示,开关的合用1表示,断用0表示,灯灭用0表示,灯亮用1表示。
自然语言描述
数字电路逻辑运算表示法
数字电路中的逻辑
1. 逻辑与电路
数字电路中的逻辑
拓展
阅读
2. 逻辑或电路
自然语言描述
数字电路逻辑运算表示法
拓展
阅读
数字电路中的逻辑
3. 逻辑非电路
自然语言描述
数字电路逻辑运算表示法
谢谢观看