(
课件网) 第2节 学用random模块 川教版(2019) 七年级下 新知导入 同学们,这是一个抛骰子的游戏,你知道如何实现的吗? 新知讲解 一、了解常用外部模块 模块名 用处简介 turtle 海龟绘图,绘制各种图画 random 随机模块,生成随机数等 OS 对文件与目录进行各种操作 re 支持各种正则表达式 time 提供对时间的控制与操作 pillow 对图片进行操作 新知讲解 模块名 用处简介 tkinter 为Python语言提供图形界面 thread 提供多线程编程的支持 socket 网络通信、网络编程 NumPy 提供多维度的各种计算方法 pandas 提供数据的各种统计方法 math 提供各种数学运算方法 新知讲解 模块名 用处简介 pytorch 人工智能与机器学习模块 TensorFlow 谷歌的人工智能与机器学习模块 urlib 网络访问模块,可编写爬虫 BeautifulSoup 在网页源代码中抓取信息 openCV 机器视觉、图像处理、人脸识别 matplotilb 生成各种统计图以及地图等等 新知导入 random模块通常也被称为“随机模块”。 random模块最常用的三个方法有:randint、choice、shuffle 二、了解random模块 新知讲解 方法 格式 说明 randint randint(开始数,结束数) 在开始数到结束数之间, 随机生成一个整数 choice choice(数据列) 随机从数据列中抽取-个数据 shuffle shuffle(数据列) 随机打乱数据列中数据的顺序 新知导入 如何使用random模块? 新知导入 将上面代码连续执行5次,每次结果都不相同,效果如图3-2-2所示。 新知导入 为代码加上循环语句,循环执行几次看看效果。我的代码如图3-2-3所示,生成8个随机数: 新知导入 运行上面代码,效果如图3-1-7所示。 新知讲解 拓展练习: 1、如果randint方法的 下限或上限取值是负整数,会出现什么结果? 2、如果randint方法的下限或上限取值是小数,会出现什么情况?说明了什么? 3、如果randint方法的下限为0,上限为1, 最终生成的随机数会是什么结果?说明了什么? 4、使用随机数可以在turtle模块中随机生成海龟的坐标值,请使用turtle模块,画一幅随机“星空图”。 新知导入 random模块另外一个常用方法是choice,这个方法的作用是从数据列中随机取出一个数据。我们使用choice方法,从“野火烧不尽春风吹又生”这串字符中,随机取10次,看每次会取出哪个字符。代码如图3-2-5所示。 三、随机取值 新知讲解 新知讲解 运行如下: 新知导入 想随机抽出某位同学来回答问题。你能写出“随机抽取同学”的小程序吗? 全班40位同学都有学号,我可以使用random模块的randint(1 ,40)方法,随机产生一个学号,学号对应的就是被抽出的同学。 四、随机抽取同学名字 新知讲解 代码如下: 新知讲解 运行如下: 新知导入 可以使用random模块的choice“随机取值”方法,取出一位同学的姓名来。 新知讲解 运行如下: 新知导入 代码中的同学姓名列表,为什么要用英文引号与逗号将每个同学的名字分隔开呢? 使用choice方法时,同学们的名字必须是一个“列表”。用英文引号与逗号分隔开。 新知导入 turle模块有一个bgpic('图片名)属性,能在turtle绘图窗口中显示照片。我们可将全班同学的照片收集起来,然后随机选出一张, 将其显示在turtle绘图窗口中。 新知讲解 代码如下: 新知讲解 random模块的shuffle方法, 就像洗扑克牌一样,可将数据列中数据的顺序随机打乱,同学们可试试运行如图: 拓 展 新知讲解 效果如下: 新知导入 应用random模块最典型的例子,是编写“猜数游戏”:程序产生0到100之间的随机数让我们猜,我们输入所猜的数,程序判断猜大了或者是猜小了,并将判断结果显示给用户,直到猜中为止。运用已有知识编写出这个程序来吗? 新知讲解 拓展阅读: 伪代码 所谓伪代码,就是使用自然语言(比如 ... ...