第15次线下授课课件random库_第1页
第15次线下授课课件random库_第2页
第15次线下授课课件random库_第3页
第15次线下授课课件random库_第4页
第15次线下授课课件random库_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

random库的使用CCBY-NC-SA4.0嵩天random库概述随机数在计算机应用中十分常见,Python内置的random库主要用于产生各种分布的伪随机数序列。random库采用梅森旋转算法(Mersennetwister)生成伪随机数序列,可用于除随机性要求更高的加解密算法外的大多数工程应用。打铁还需自身硬random库解析函数描述seed(a=None)初始化随机数种子,默认值为当前系统时间random()生成一个[0.0,1.0)之间的随机小数randint(a,b)生成一个[a,b]之间的整数getrandbits(k)生成一个k比特长度的随机整数randrange(start,stop[,step])生成一个[start,stop)之间以step为步数的随机整数uniform(a,b)生成一个[a,b]之间的随机小数choice(seq)从序列类型(例如:列表)中随机返回一个元素shuffle(seq)将序列类型中元素随机排列,返回打乱后的序列sample(pop,k)从pop类型中随机选取k个元素,以列表类型返回缤纷花朵绘制CCBY-NC-SA4.0嵩天绘制任务绘制60个颜色、位置、大小、角度随机的花朵,该如何实现?random库颜色随机位置随机大小随机角度随机Pythonrandom库函数函数功能random()生成一个[0.0,1.0)之间的随机小数randint(a,b)生成一个[a,b]之间的随机整数设置pencolor(),fillcolor(),颜色可以是“red”、“blue”等。也可以是(r,g,b),颜色对应0~1之间的小数,例如:(1,0,0)表示红色。随机三原色r,g,b=random(),random(),random()生成。颜色随机random库函数函数功能random()生成一个[0.0,1.0)之间的随机小数randint(a,b)生成一个[a,b]之间的随机整数goto(x,y)设置坐标位置,若画布大小600*400像素水平方向x坐标,x=randint(-300,300)生成垂直方向y坐标,y=randint(-200,200)生成位置随机random库函数函数功能random()生成一个[0.0,1.0)之间的随机小数randint(a,b)生成一个[a,b]之间的随机整数若限制花朵绘制半径在10~50像素之间花朵半径size=randint(10,50)生成大小随机random库函数函数功能random()生成一个[0.0,1.0)之间的随机小数randint(a,b)生成一个[a,b]之间的随机整数若限制花朵倾斜角度在0°~72°之间倾斜角度k=randint(0,72)生成角度随机绘制一朵花定义函数oneflower(size,k)绘制一朵半径为size,倾斜角度为k的花朵绘制一片花海定义函数manyflowers()绘制60朵颜色、位置、大小、角度随机的花朵绘制一片花海主程序,定义画布,调用manyflowers()简易发红包程序random库函数函数功能uniform(a,b)生成一个[a,b]之间的随机小数choice(seq)从序列类型中随机选择一个元素返回shuffle(seq)将序列元素次序随机打乱sample(seq,n)从序列中随机取出n个元素,组成新的列表每个红包金额随机random库函数函数功能uniform(a,b)生成一个[a,b]之间的随机小数choice(seq)从序列类型中随机选择一个元素返回shuffle(seq)将序列元素次序随机打乱sample(seq,n)从序列中随机取出n个元素,组成新的列表随机抽取一人领取红包random库函数函数功能uniform(a,b)生成一个[a,b]之间的随机小数choice(seq)从序列类型中随机选择一个元素返回shuffle(seq)将序列元素次序随机打乱sample(seq,n)从序列中随机取出n个元素,组成新的列表领取红包人员随机抽取3人random库函数函数功能uniform(a,b)生成一个[a,b]之间的随机小数choice(seq)从序列类型中随机选择一个元素返回shuffle(seq)将序列元素次序随机打乱sample(seq,n)从序列中随机取出n个元素,组成新的列表打乱红包领取人员次序简易发红包程序小李打算发100元红包,人数不限,每个红包小于等于10元的金额。编写程序,要求每发一个红包,输出一行内容,直到发完为止。例如:第*人,收到*元,剩余*元。简易发红包程序分析循环处理随机生成一个红包金额,可采用uniform()函数;若剩余金额>红包金额,则进行发红包处理:更新剩余金额,红包数量+1;若剩余金额<=红包金额,则作出发最后一个红包处理。简易发红包程序importrandomtotal=100count=0whileTrue:

t=random.uniform(0,10)t=round(t,2)iftotal>t:total=total-tcount=count+1print("第{}人,收到{}元,剩余{}元".format(count,t,round(total,2)))else:print("第{}人,收到{}元,剩余{}元".format(count+1,round(total,2),0))break复杂抢红包程序发红包程序实现一个发红包程序,两个重要的参数,其一为红包金额cash,其二就是红包发放人数n。另外,需要一个计数器count,统计已发红包个数,可以设置为全局变量。规定:结合随机库函数,单个红包金额在0.01~cash-0.01*n范围内。群中人员由列表ls组成,发红包情况由字典d记录,程序主要功能可以由hongbao()函数实现。主程序主程序,先输出群中现有人员名单;然后输入红包总金额total和红包个数number;根据红包个数,随机生成领取红包人员名单lt;调用函数hongbao(),分配红包金额,并输出最终红包领取情况。hongbao()函数hongbao(cash,n),形参分别接受红包总金额和红包个数。字典d用于记录红包发放情况;列表lt记载领取红包人员名单。已发红包个数count是全局变量,字典d和列表

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论