粤高教版 (2018)八年级下册第1课 加法心算游戏——random与time模块的应用集体备课ppt课件
展开在难度相似的情况下随机答题,可以从答题数、正确率来判输赢
本课的任务是编写一个“加法心算游戏”程序,要求由计算机在限定时间内随机给出若干道两个100以内加数的加法题,比正确率。需要解决的关键问题是:一是如何实现在限定时间内多次出题、答题;二是如何随机出题。
要解决这两个问题,在程序中需要利用两个模块。
imprt randm
导入模块后,要调用模块中的函数,需按如下的格式书写:
模块名.函数(参数)
例如,调用randm模块中的randm()和randint()两个函数。
randm.randm()
randm.randint(9,20)
在IDLE交互模式下完成下列操作,理解randm()函数及randint()函数的作用。
randm()随机生成一个0~1的浮点数;randint()随机生成一个给定区间内的整数
>>>imprt randm>>>randm.randm()>>>randm.randm()>>>randm.randm()>>>randm.randint(1,10)>>>randm.randint(15,100)>>>randm.randint(200,300)
time 模块中的函数time()用于获取当前时间戳。要计算前后两个时间点的时长(秒数),只要用前后两次time.time()的值相减即可。
在IDLE交互模式下,导入time模块,然后多次输入time.time()命令,观察每次的结果有何变化,理解time()的作用。
>>>imprt time>>>time.time()>>>time.time()>>>time.time()
time()用于获取当前时间
1、运行程序time.py,相邻同学对比运行结果,你能从中得出什么结论?
#time.py计算程序运行所消耗的时间imprt timet1=time.time() #把当前时间戳存到t1中fr i in range (100000000): i=i+1t2=time.time() #把循环结束后的时间戳存到t2中#将循环执行时间保留两位小数输出print(‘循环执行时间:%.2f秒’%(t2-t1))
2、请写出语句的执行结果,并在IDLE交互模式下验证。
>>>print(‘体重:%fkg’%50) #默认保留6位小数结果:_______________________>>>print(‘圆周率:%.3f’%3.1415) #保留3位小数结果:________________
体重:50.000000kg
据前面分析,加法心算游戏程序的算法流程如图2-1-2所示。
将答题数n置初2值0将答对题数right置初值0置起始时间及最新时间:t1,t2=time.time()
导入randm、time模板
n=n+1num1=randm.randint(1,100)num2=randm.randint(1,100)
输出答题数量n、正确答题数right及正确率
t2=time.time()
right=right+1
ans=num1+num2
输出加法式子num1+num2=
图2-1-2 加法心算游戏流程图
根据从上面的算法分析,加法心算游戏程序的代码如下:
#add.pyimprt randm.time #导入randm和time模块n=right=0 #分别给答案总数量n和答对题数变量right赋初值0t1=t2=time.time() #将当前时间戳作为初值分别赋给开始时间t1和最新时间t2
while t2
if ______________________#判断心算答案是否正确 right=right+1 #累计答对题数t2=______________ #每答题一次就更新当前时间戳print(‘时间到,加法训练结束!’)#将答题正确率保留两位小数输出print(‘你完成了’,n,’题,做对了’,right,’题,正确率为%.2f’%(right/n*100),’%’)
ans==num1+num2
time.time()
完善程序add.py,并运行测试。开展加法心算游戏活动,比谁答对的题目最多、正确率最高。
1、修改程序add.py,将原程序修改为两位数的整数口算乘法游戏程序,答题时间由键盘输入,程序保存为mul.py。
2、参考图2-1-3,设计一个抽奖器,随机抽取一个学号作为幸运之星,程序保存为luck.py。
图2-1-3 抽奖器程序
1、以下哪个函数能生成1~5之间的随机整数?( )A、randm.randm(0,5) B、randm.randint(0,5)C、randm.randm(1,5) D、randm.randint(1,5)
2、以下哪个函数在使用前要先导入所属的模块?( ) A、input() B、print() C、int() D、time.time()
3、以下哪些说法是正确的?( )A、在Pythn中,利用库可以让编程者快速实现所需的功能B、随机数模块randm包含在扩展库中C、标准库和扩展库的模块都需要先导入才能使用 D、库中的所有函数在调用时,一定要写参数
4、请完善程序randm.py,求出10个三位随机整数的和。
#randmnum.py__________randms=0fr i in range(10): n=_______________________________s=s+nprint(s)
randm.randint(100,999)
5、完成表2-1-1的学习评估,并将评估等级填写到“我的成长记录袋”中。
表2-1-1 学习评估表
1、利用time模块获取时间,用来计算时长,并根据时长确定游戏是否继续。2、利用randm模块每次生成不同的随机整数作为加数。3、要使用randm模块中的函数先导入该模块,导入命令如下: imprt randm4、导入模块后,要调用模块中的函数,需按如下的格式书写: 模块名.函数(参数)
初中信息技术粤高教版 (2018)八年级下册*第4课 检测图像中的人脸——0penCV库的应用图文课件ppt: 这是一份初中信息技术粤高教版 (2018)八年级下册*第4课 检测图像中的人脸——0penCV库的应用图文课件ppt,共39页。PPT课件主要包含了新知导入,新知讲解,分析问题,学习新知,一OpenCV库,二分类器,关闭所有窗口,设计算法,cv2imread,cv2imshow等内容,欢迎下载使用。
初中信息技术粤高教版 (2018)八年级下册第3课 生成登录验证码——PIL库的应用评课ppt课件: 这是一份初中信息技术粤高教版 (2018)八年级下册第3课 生成登录验证码——PIL库的应用评课ppt课件,共38页。PPT课件主要包含了新知导入,新知讲解,分析问题,学习新知,一PIL库,设计算法,实践与创作,图2-3-3,检测与评估,拓展新知等内容,欢迎下载使用。
初中信息技术粤高教版 (2018)八年级下册第二单元 实用程序我来编第2课 绘制函数图象——matplotlib与numpy库的应用示范课课件ppt: 这是一份初中信息技术粤高教版 (2018)八年级下册第二单元 实用程序我来编第2课 绘制函数图象——matplotlib与numpy库的应用示范课课件ppt,共45页。PPT课件主要包含了新知讲解,新知导入,分析问题,学习新知,图2-2-2,图2-2-3,图2-2-4,pyplot模块,二numpy库,设计算法等内容,欢迎下载使用。