资源简介 (共22张PPT)第三单元开启python小宝箱Section2Learningrandommodule第2节学习random模块04随机抽取同学姓名04随机抽取同学姓名在课堂上,老师有时想随机抽出某位同学来回答问题。你们能用自己所学的知识,写出“随机抽取同学”的小程序吗?方法1:假设全班有40人,并且40位同学都有对应学号,即可以使用random模块的randint()方法,从1-40随机产生一个学号,学号对应的就是被抽出的同学。代码如下图:04随机抽取同学姓名程序执行3次,运行效果如下图所示:04随机抽取同学姓名在课堂上,老师有时想随机抽出某位同学来回答问题。你们能用自己所学的知识,写出“随机抽取同学”的小程序吗?方法2:建立变量“同学名列表”存储同学名,在使用random模块的choice()方法,从中取值。代码如下图:04随机抽取同学姓名程序执行3次,运行效果如下图所示:04随机抽取同学姓名小提示:文本类型的数据需要用引号(英文状态下的“”),数据之间用逗号隔开,整体数据用中括号括起来。choice()方法是从一列数据中(列表)随机抽取一个,如果不分隔开,那每次就只能随机抽取出一个字。列表:最常用的Python数据类型,可将一堆数据项构成一个数据整体,数据项可为不同的类型。创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。实例:list1=['physics','chemistry',1997,2000]04随机抽取同学姓名在turtle模块有一个bgpic(‘图片名’)属性,能在turtle绘图窗口中显示照片。因此可将全班同学的照片收集起来,然后随机选出一张,将其显示在turtle绘图窗口中。这样,会比显示学号与姓名更为直观、方便。任务要求:从网络获取2–4张人像图片,通过点名的方式随机抽取照片。程序设计如图所示:04随机抽取同学姓名程序运行效果如下图所示:04随机抽取同学姓名注意:同学们在运行本代码时,照片与程序要放在同级目录下。如果将照片放在另外的目录下,则最末一行代码要写为:T.bgpic('目录路径/’+被抽照片)。此外,图片要使用png或gif格式。11拓展练习random模块的shuffle方法,就像洗扑克牌一样,可以将数据列表中数据的顺序随机打乱,请同学们编写如下图中所示的代码,运行一下看看效果如何。示例程序:运行效果如图:05编写简单猜数游戏05编写简单猜数游戏应用random模块最典型的例子是编写“猜数游戏”:程序产生0到100之间的随机数让我们猜,我们输入所猜的数,程序判断猜大了或者是猜小了,并将判断结果显示给我们,让我们继续猜,直到猜中为止。提示:在正式编写代码之前,通常我们可以先使用中文,编写出整个猜数游戏的“伪代码”(程序逻辑结构梳理),然后再将“伪代码”改写为真正的Python程序代码。05编写简单猜数游戏现在我们来了解一下什么是“伪代码”?所谓伪代码,就是使用自然语言(比如中文、英文等),将自己解决问题的整个思路(算法)按步骤记下来。这样,无论其他人使用的是什么编程语言,都能理解自己的编程思路。“伪代码”用来描述程序执行过程,它本身不属于任何编程语言。有经验的程序员在编写代码之前,往往会用“伪代码”来规划、验算自己的解决思路与程序逻辑。优秀的伪代码,应该能让不会编程的人,也能读懂整个程序的思路与逻辑。05编写简单猜数游戏任务描述1:请编写出“猜数游戏伪代码”。1.引入随机模块2.用随机模块生成一个随机数3.输入我们所猜的数4.比较随机数与我们输入的数(1)如果猜大了,给出提示“猜大了”(2)如果猜小了,给出提示“猜小了”(3)返回上面3,重新输入所猜的数(4)如果猜对了,给出提示“猜对了”并跳出循环5.结束游戏05编写简单猜数游戏任务描述2:将“伪代码”改写为真正的Python程序代码。执行程序,运行效果如图:05编写简单猜数游戏练习:将下图中的代码书写在编辑器中,执行程序查看运行结果,然后为每行代码添加上注释,看看自己能不能理清代码运行的逻辑?05编写简单猜数游戏代码运行效果如右图:思考:运行代码时,如果我们最后输人的是除y之外的任何字符,会发生什么情况呢?——while重复执行条件不满足,结束重复执行命令。05编写简单猜数游戏编程任务:编写一个与电脑玩“石头剪子布”的小游戏,电脑随机出拳与用户出拳进行比较,判断胜负结果。程序书写及执行结果如图所示:阅读思考20人与机器下围棋随着人工智能技术的发展,人们不仅能够在网络上互相围棋对战,机器也可以成为人下围棋的对手,阿尔法围棋(AlphaGo)就是第一个击败人类职业围棋选手的智能机器人。阿尔法围棋采用了“深度学习”“神经网络”等人工智能技术,通过对60余万张围棋棋谱的研究与分析,生成了对弈策略。在与人对弈时,它首先用智能搜索树找出多个落子位置,然后使用神经网络生成的对弈策略,对这些落子位置进行评估,从而找到最佳落子位置,并最终击败人类棋手。阿尔法围棋是人工智能在日常生活中成功应用的典型,充分展示了人工智能技术的潜力和价值。思考:机器是如何学习的呢?未来人工智能会超越人类吗?请谈谈你的看法。课堂总结学用random模块了解常用外部模块随机抽取同学姓名了解random模块随机取值外部模块很多、常用的也不少、我们先了解一下它们的作用掌握random模块的基本用法、能使用randint方法生成随机数能使用choice方法从数列中随机取值掌握Randint、choice、shuffle这几种方法的使用编写简单猜数游戏掌握“伪代码”的编写并转换为Python程序代码THANKS(共15张PPT)第三单元开启python小宝箱Section2Learningrandommodule第2节学习random模块课堂导入2上一节课我们学习了怎样用Python语言编写判断密码正误的小程序。这节课我们就将用到“神秘奖品”的其中一个模块:random模块。最后我们还同欢欢一起打开了里面的“神秘宝箱”,查看了里面的“神秘奖品”——Python常用模块。1.掌握random模块的基本用法。2.能使用randint方法生成随机数。3.能使用choice方法从数列中随机取值。学习目标1.了解常用外部模块2.了解random模块3.随机取值课程目录4.随机抽取同学姓名5.编写简单猜数游戏01了解常用外部模块01了解常用外部模块5经过前面的学习,我们已经学会了Python编程语言中最常用的语句与函数。下面我们就来介绍一下python中最常见的模块。模块名用处简介turtle海龟绘图,绘制各种图画random随机模块,生成随机数等os对文件与目录进行各种操作re支持各种正则表达式time提供对时间的控制与操作pillow对图片进行操作tkinter为Python语言提供图形界面thread提供多线程编程的支持socket网络通信、网络编程模块名用处简介NumPy提供多维度的各种计算方法pandas提供数据的各种统计方法math提供各种数学运算方法pytorch人工智能与机器学习模块TensorFlow谷歌的人工智能与机器学习模块urllib网络访问模块,可编写爬虫BeautifulSoup在网页源代码中抓取信息openCV机器视觉、图像处理、人脸识别matplotilb生成各种统计图以及地图等等turtle:01了解常用外部模块time:Tkinter:math:openCV:702了解random模块02了解random模块random模块通常也被称为“随机模块”。下表中列出了random模块最常用的三个方法。方法格式说明randintrandint(开始数,结束数)在开始数到结束数之间,随机生成一个整数choicechoice(数据列)随机从数据列中抽取一个数据shufleshuffle(数据列)随机打乱数据列中数据的顺序02了解random模块例程1:使用random模块生成0–100的随机数。连续执行5次代码,得到运行结果。如图:02了解random模块例程2:增加循环语句,使用random模块生成8个0–100的随机数。执行代码,得到运行结果。如图:11拓展练习1.如果randint方法的下限或上限取值是负整数,会出现什么情况?2.如果randint方法的下限或上限取值是小数,会出现什么情况?说明了什么?3.如果randint方法的下限为0,上限为1,最终生成的随机数会是什么结果?说明了什么?4.使用随机数可以在turtle模块中随机生成海龟的坐标值,请使用turtle模块,画一幅随机“星空图”。提示:画圆函数:circle(x)#x:半径(数值)坐标函数:goto(x,y)#x,y:横纵坐标(数值)03随机取值1203随机取值random模块另外一个常用方法是choice(),这个方法的作用是从数据列中随机取出一个数据。例程3:从“野火烧不尽春风吹又生”这串字符中,随机取10次,看每次会取出哪个字符。代码如下图所示:14运行效果如下图所示:03随机取值THANKS 展开更多...... 收起↑ 资源列表 3.2 学习random模块(第一课时) 课件(共15张PPT).pptx 3.2 学习random模块(第二课时) 课件(共22张PPT).pptx