3.2.3 分支结构的程序实现 课件 2022—2023学年浙教版(2019)高中信息技术必修1(19张PPT)

文档属性

名称 3.2.3 分支结构的程序实现 课件 2022—2023学年浙教版(2019)高中信息技术必修1(19张PPT)
格式 pptx
文件大小 4.8MB
资源类型 教案
版本资源 浙教版(2019)
科目 信息技术(信息科技)
更新时间 2022-12-05 20:35:57

图片预览

文档简介

(共19张PPT)
3.2.3 分支结构的程序实现
CONTENT
1
if 语句的应用
2
if...elif…else语句的应用
情境导入
竞猜价格小游戏
《猜价格赢红包》中的游戏规则是越接近实际价格者获胜。如果我们修改规则,变为竞猜一个商品的具体价格,你能不能用Python语言写一个这样的小游戏呢?
设定一个商品价格,由用户输入竞猜价格,猜中则输出“猜对了”并输出“游戏结束”,猜错则直接输出“游戏结束”
分析问题
条件表达式
语句A
Y
N
单分支选择语句
如果表达式为真,则执行语句A,然后继续往下执行;如果表达式为假,则不执行语句A然后继续往下执行。
竞猜价格小游戏
《购物街》中的游戏规则是越接近实际价格者获胜,如果我们改变规则,竞猜一个商品的具体价格,你能不能用Python语言写一个这样的小游戏呢?
分析问题
设计算法
开始
输入价格 guess
商品价格 price=8
输出“游戏结束”
guess=price
结束
N
输出“猜对了”
Y
单分支 if 语句
《购物街》中的游戏规则是猜价格高低,如果我们改变规则,竞猜一个商品的具体价格,你能不能用Python语言写一个这样的小游戏呢?
分析问题
设计算法
编写程序
单分支if语句
if(条件表达式):
语句A
注意:
1、不要漏了冒号
2、当语句A是由多个语句构成的符合语句时,所有语句严格遵循相同的缩进
单分支 if 语句
注意:
1、input()返回字符串,需进行数据转换
2、区分“=”与“==”这两个运算符
竞猜价格小游戏
调试程序
分析问题
设计算法
编写程序
如果我们要改进这个小游戏,当输入价格错误时,能够先输出“猜错了,正确答案是8”,再输出“游戏结束”,应该如何对程序进行修改呢?
双分支 if 语句
双分支if语句
if (条件表达式):
语句A
else:
语句B
注意:
1、不要漏了冒号
2、当语句A和语句B是由多个语句构成的符合语句时,所有语句严格遵循相同的缩进
双分支选择语句
如果条件表达式为真,则执行语句A,然后继续往下执行。如果条件表达式为假,执行语句B,然后继续往下执行。
条件表达式
语句A
Y
N
语句B
竞猜价格小游戏
开始
输入价格 guess
商品价格 price=8
输出“游戏结束”
guess=price
结束
N
输出“猜对了”
Y
输出“猜错了,正确答案是8”
多分支if语句
能不能继续改进这个小游戏,使其在用户输入价格之后,根据判断分别输出“高了”、“低了”或“恭喜你,猜对了!”的反馈呢?
当分支比较多时,我们可以用 if…elif…else 语句来实现。
if (表达式1):
语句1
elif (表达式2):
语句2
……
elif (表达式N):
语句N
else:
语句N+1
if 语句的嵌套
if 语句允许嵌套使用,但是一定要注意严格的缩进。
举个例子
闰年的计算
X能被100整除?
X能被4整除?
X能被400整除?
Y
输出“是闰年”
输出“不是闰年”
N
N
输出“不是闰年”
输出“是闰年”
Y
N
Y
结束
if 语句的嵌套
if 语句的嵌套
生成随机数
商品价格为固定数值,游戏只能玩一次。我们能不能让计算机来帮我们设定一个随机的商品价格呢?
生成随机数
当我们需要生成一个随机整数时,可以调用 random模块 的 randint()函数,则计算机会在你所指定的范围内随机生成一个整数。【书本P.85—86】
继续修改你的程序,将“设定一个商品价格”改为“由计算机生成一个随机整数作为商品价格”,让计算机在10到100之间随机生成一个价格,看看你不能猜中计算机给出的价格。
生成随机数
竞猜价格小游戏
你猜对了吗?
反正我没有……
问题出在哪呢?
每一次重新运行程序,计算机就会重新生成一个新的随机数。一次命中的概率太低了,如果可以有三次机会,根据偏高偏低的反馈缩小范围,猜中的几率就会大一些。
如果有三次机会,就要输入三次,并进行三次判断。那是不是要input()三次,再复制出三次一模一样的 if…elif…else 判断语句呢?