32学用random模块 教案学年七年级信息技术川教版下册Word文档格式.docx
- 文档编号:4042593
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:13
- 大小:992.02KB
32学用random模块 教案学年七年级信息技术川教版下册Word文档格式.docx
《32学用random模块 教案学年七年级信息技术川教版下册Word文档格式.docx》由会员分享,可在线阅读,更多相关《32学用random模块 教案学年七年级信息技术川教版下册Word文档格式.docx(13页珍藏版)》请在冰点文库上搜索。
三、教学环境
多媒体教室
四、教学过程
1、引入
教师讲解:
经过之前的学习,我们已经学会了Python编程语言中最常用的语句与函数。
其实这些语句与函数如同“胶水”,而今天老师给大家介绍里面的“积木”。
2、了解常用外部模块
利用Python编程,我们可以用胶水将积木组合成各种东西,所以学习如何使用各种各样的模块很重要,下面老师给大家简单介绍一下这些“积木”,Python中常用的模块如下图所示。
学生认真听教师讲解,并讨论交流,自己都会用哪些?
3、了解random模块
这么多模块中我们之前只知道turle海龟绘图,但我们今后的学习重点是学会模块的用法,下面我们就来学习random模块,random模块通常也被称为“随机模块”,random模块最常用的三个方法如下图所示。
任务一:
同学们通过小组合作自主学习课本55-56页,试操作如何使用random模块?
任务完成后请小组展示并讲解自己的操作过程。
生成随机数的代码
生成随机数的代码连续执行5次的运行效果
同学们在观看过程中发现,每次手工执行代码很麻烦,所以有小组成员提出为代码加上循环语句,循环执行几次看看效果
循环8次生成随机数的代码
生成8个随机数的代码运行效果
任务二:
教师提出练习操作,要求完成以下操作练习:
(1)如果randint方法的下限或上限取值是负整数,会出现什么结果?
(2)如果randint方法的下限或上限取值是小数,会出现什么情况?
说明了什么?
(3)如果randint方法的下限为0,上限为1,最终生成的随机数会是什么结果?
(4)使用随机数可以在turtle模块中随机生成海龟的坐标值,请使用turtle模块,画一幅随机“星空图”。
练习结束后请各小组展示自己的练习成果,教师及时给予评价。
4、随机取值
random模块另外一个常用方法是choice,这个方法的作用是从数据列中随机取出一个数据。
我们使用choice方法,从“野火烧不尽春风吹又生”这串字符中,随机取10次,看每次会取出哪个字符,代码如下图所示。
随机取值的代码
随机取值的代码运行效果
任务三:
请同学们按照老师的讲解,小组合作,探究完成随机取值的代码编写。
5、随机抽取学生姓名
教师提问:
刚才我们学习了如何随机取值的方法,那如果在课堂上,老师有时想随机抽出某位同学来回答问题,你能用自己所学的知识,写出“随机抽取同学”的小程序吗?
有同学思考后回答:
全班40位同学都有学号,我可以使用random模块的randint(1,40)方法,随机产生一个学号,学号对应的就是被抽出的同学。
并演示自己所写的代码及运行效果如下。
教师提出疑问:
同学们利用学号来编写的代码编写得不错。
但使用学号不太直观,你们能想办法直接抽出同学的姓名吗?
教师提示:
我们可以使用random模块的choice“随机取值”方法,取出一位同学的姓名来。
代码如下图所示。
随机抽取同学姓名的代码
随机抽取同学姓名的代码运行效果
任务四:
请同学们小组合作,完成随机抽取同学姓名的代码编写并运行效果。
教师随机抽取展示,并及时评价。
教师补充:
以上代码中的同学姓名列表,为什么要用英文引号与逗号将每个同学的名字分隔开呢?
那是因为choice方法是从一列数据中随机抽取一个,如果不分隔开,那每次就只能随机取出一个字,取不出同学的名字。
而且使用choice方法时,同学们的名字必须是一个“列表”关于什么是“列表”,我们会在今后详细学习。
任务五:
同学们通过我们学习过turtle绘图模块,turtle模块有一个bgpic(“图片名”)属性,能在turtle绘图窗口中显示照片。
我们可将全班同学的照片收集起来,然后随机选出一张,将其显示在turtle绘图窗口中。
这样,会比显示学号与姓名更为直观、方便。
以下是“随机抽取照片”的代码,同学们可在老师的帮助下收集全班照片,试试编写代码。
学生操作后展示运行效果,并及时评价。
教师补充讲解:
运行本代码时,照片与程序要放在同级目录下。
如果要将照片放在另.外的目录下,则最末一行代码要写为:
Tbgpic('
目录路径"
+被抽照片)。
此外,图片要使用png或gif格式。
教师要求:
random模块的shuffle方法,就像洗扑克牌-样,可将数据列中数据的顺序随机打乱,同学们可试试运行如下图中所示的代码。
随机打乱数据顺序的代码
随机打乱数据顺序的代码运行效果
任务六:
请同学们小组合作参照老师的演示操作编写随机打乱数据顺序的代码,并运行。
随机抽取学生展示自己编写的代码并展示运行效果,教师及时给予评价。
6、编写简单猜数游戏
应用random模块最典型的例子,是编写“猜数游戏”,程序产生0到100之间的随机数让我们猜,我们输入所猜的数,程序判断猜大了或者是猜小了,并将判断结果显示给我们,让我们继续猜,直到猜中为止。
现在你能运用已有知识编写出这个程序来吗?
在正式编写代码之前,我们可以先使用中文,编写出整个猜数游戏的“伪代码”,然后再将“伪代码”改写为真正的Python程序代码。
7、拓展知识:
伪代码
任务七:
请同学们分组探究,参照课本61-62页了解什么是“伪代码”?
并写出“猜数游戏伪代码”。
学生展示自己所写“猜数游戏伪代码”,教师及时评价。
1.引入随机模块
2.用随机模块生成一个随机教
3.输入我们所猜的数
4.比较随机数与我们输入的数
(1)如果猜大了,给出提示“猜大了”
(2)如果猜小了,给出提示“猜小了”
(3)返回上面3,重新输入所猜的效
(4)如果猜对了,给出提示“猜对了”并跳出循环
(5)结束游戏
同一个编程项目,往往可以使用不同的编程语言来实现。
不同的编程语言有差异,使用某一种语言的程序员,可能看不懂使用另一种语言编写的代码。
为让所有人都能读懂代码,程序员们开始在自己编写的代码中添加“伪代码”。
所谓伪代码,就是使用自然语言(比如中文、英文等),将自己解决问题的整个思路(算法)按步骤记下来。
这样,无论其他人使用的是什么编程语言,都能理解自己的编程思路。
“伪代码”用来描述程序执行过程,它本身不属于任何编程语言。
有经验的程序员在编写代码之前,往往会用“伪代码”来规划、验算自己的解决思路与程序逻辑。
优秀的伪代码,应该能让不会编程的人,也能读懂整个程序的思路与逻辑。
了解了“伪代码”,同学们能根据自己的伪代码编写出Python程序了吗?
任务八:
请同学们根据自己所写的“伪代码”,写出猜数字游戏Python程序。
教师请同学们展示自己写的代码并展示运行效果。
请同学们阅读下面的代码,为每行代码添加上注释,看看自己能不能在没有任何提示的情况下,理清代码运行的逻辑?
循环的猜数游戏的代码
循环的猜数游戏的代码运行效果
学生思考:
运行上图所示的代码时,如果我们最后输入的是除y之外的任何字符,会发生什么情况呢?
学生小组交流探究找出答案,教师及时给予评价。
8、拓展练习
拓展任务:
请同学们编写与电脑玩“石头剪子布”的小游戏,想想看应该使用什么模块、如何编写,并写出自己的“伪代码”。
然后,请阅读下面的代码,想想每行代码的意思。
通过本课的学习我们学会了random模块的基本用法,能使用randint方法生成随机数和使用choice方法从数列中随机取值。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 32学用random模块 教案学年七年级信息技术川教版下册 32 random 模块 教案 学年 年级 信息技术 川教版 下册