1、学用学用randomrandom模块模块目 录0102了解常用外部模块了解random模块03随机取值04随机抽取同学姓名编写简单猜数游戏学习目标010203知识目标:掌握 random 模块的基本用法。能力目标:能使用 randint 方法生成随机数。能使用 choice 方法从数列中随机取值。情感目标:培养学习编程的兴趣,养成良好的信息技术学习习惯,渗透面向对象思维。学习重难点0102重点:掌握 random 模块的基本用法。难点:能使用 randint 方法生成随机数。3随机取值3随机取值randomrandom模块另外一个常用方法是模块另外一个常用方法是choicechoice,这个方
2、法的作用是从数这个方法的作用是从数据列中随机取出一个数据。据列中随机取出一个数据。choicechoice方法:方法:从数据列中随机取出一个数据。从数据列中随机取出一个数据。3随机取值使用使用choicechoice方法,从方法,从“野火烧不尽春风吹又生野火烧不尽春风吹又生”这串字符中,这串字符中,随机取随机取1010次,看每次会取出哪个字符次,看每次会取出哪个字符任务六任务六3随机取值4随机抽取同学姓名4随机抽取同学姓名我们学习了如何随机取值的方法,那我们学习了如何随机取值的方法,那如果在课堂上,老师有时想随机抽出如果在课堂上,老师有时想随机抽出某位同学来回答问题,你能用自己所某位同学来回答
3、问题,你能用自己所学的知识,写出学的知识,写出“随机抽取同学随机抽取同学”的的小程序吗小程序吗?4随机抽取同学姓名全班全班4040位同学都有学号,我可以使用位同学都有学号,我可以使用randomrandom模块的模块的randint(1,40)randint(1,40)方法,随方法,随机产生一个学号,学号对应的就是被机产生一个学号,学号对应的就是被抽出的同学。抽出的同学。4随机抽取同学姓名4随机抽取同学姓名4随机抽取同学姓名同学们利用学号来编写的代码编写得同学们利用学号来编写的代码编写得不错。但使用学号不太直观,你们能不错。但使用学号不太直观,你们能想办法直接抽出同学的姓名吗想办法直接抽出同学
4、的姓名吗?我们可以使用我们可以使用randomrandom模块的模块的choice“choice“随机取值随机取值”方法,取出一位方法,取出一位同学的姓名来同学的姓名来。4随机抽取同学姓名请同学们小组合作,完成随机抽取同学姓名的代码编写并运行请同学们小组合作,完成随机抽取同学姓名的代码编写并运行效果。效果。任务七任务七4随机抽取同学姓名4随机抽取同学姓名4随机抽取同学姓名以上代码中的同学姓名列表,为什么要用英文引号与逗号将每以上代码中的同学姓名列表,为什么要用英文引号与逗号将每个同学的名字分隔开呢个同学的名字分隔开呢?那是因为那是因为choicechoice方法是从一列数据中随方法是从一列数据
5、中随机抽取一个,如果不分隔开,那每次就只能随机取出一个字,机抽取一个,如果不分隔开,那每次就只能随机取出一个字,取不出同学的名字。而且使用取不出同学的名字。而且使用choicechoice方法时,同学们的名字必方法时,同学们的名字必须是一个须是一个“列表列表”关于什么是关于什么是“列表列表”,我们会在今后详细学,我们会在今后详细学习。习。补充补充4随机抽取同学姓名我们学习过我们学习过turtleturtle绘图模块,绘图模块,turtleturtle中可以显示图片,如何利中可以显示图片,如何利用用turtleturtle模块随机显示同学照片呢?模块随机显示同学照片呢?任务八任务八4随机抽取同学
6、姓名4随机抽取同学姓名1 1、照片与程序要放在同一级目录下,否则,最末一行代码要写、照片与程序要放在同一级目录下,否则,最末一行代码要写为:为:t.bgpic(t.bgpic(目录路径目录路径/+/+被抽照片被抽照片)2 2、图片要使用、图片要使用pngpng或者或者gifgif格式。格式。注意注意4随机抽取同学姓名randomrandom模块的模块的shuffleshuffle方法,就像洗扑克牌方法,就像洗扑克牌-样,可将数据列中样,可将数据列中数据的顺序随机打乱,同学们可试试运行如下图中所示的代码。数据的顺序随机打乱,同学们可试试运行如下图中所示的代码。4随机抽取同学姓名4随机抽取同学姓名4随机抽取同学姓名请同学们小组合作参照老师的演示操作编写随机打乱数据顺序请同学们小组合作参照老师的演示操作编写随机打乱数据顺序的代码,并运行。的代码,并运行。任务九任务九