第8章 Python常用标准库_第1页
第8章 Python常用标准库_第2页
第8章 Python常用标准库_第3页
第8章 Python常用标准库_第4页
第8章 Python常用标准库_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

第8章Python常用标准库turtle库知识CONTENT要点Random库turtle库turtle(海龟)是Python的图形绘制库。原理控制一只小海龟,以不同的方向和速度进行位移,而得到的运动轨迹。知识要点turtle库的导入turtle库的函数与应用random库的函数与应用导入turtle库importturtle,函数调用turtle.<函数名>()形式。fromturtleimport*,函数调用<函数名>()形式。importturtleast,将turtle库赋予别名t。函数调用t.<函数名>()形式。设置窗体的函数setup()函数,用于初始化画布窗口大小和位置。setup(640,480,300,200),表示在桌面屏幕(300,200)位置开始创建640×480大小的画布窗体。turtle库角度坐标体系(绝对角度)(0,0)0˚/-360˚90˚/-270˚180˚/-180˚270˚/-90˚xy设置画笔状态的函数函数功能pensize(width)设置画笔线条的粗细pencolor()设置画笔的颜色fillcolor()设置填充颜色color(color1,color2)同时设置画笔颜色和填充颜色begin_fill()开始填充图形end_fill()结束填充图形pendown()放下画笔penup()提起画笔setx()移动x轴到指定位置sety()移动y轴到指定位置goto(x,y)移动画笔到坐标(x,y)绘制同切圆importturtleturtle.setup(600,480)turtle.circle(50)turtle.circle(75)turtle.circle(100)设置颜色的函数pencolor()设置画笔颜色、fillcolor()设置填充颜色、color()同时设置画笔和填充颜色。表示颜色的字符串,例如:“red”、“blue”等。也可以是(r,g,b):颜色对应[0,1]数值,例如:(1,0,0)绘制同切圆fromturtleimport*setup(600,480)color("red","blue")begin_fill()circle(100)end_fill()pencolor(0.5,0.5,0.5)fillcolor(0.5,0.9,0.8)begin_fill()circle(50)end_fill()控制画笔运动的函数方法功能forward()沿画笔方向前进指定距离,简写fd()backward()沿画笔方向后退指定距离,简写bk()left()画笔方向左转指定角度right()画笔方向右转指定角度setheading(angle)设置画笔方向绝对角度,简写seth()home()画笔返回原点circle(r,e)绘制一个指定半径r和角度e的圆或圆弧write(text,align,font)输出文本text,可设置对齐方式、字体等speed()设置画笔的绘制速度,参数为0-10之间实例解析:turtle库绘图绘制同心圆,半径30、60、90以原点(0,0)作为圆心设置海龟起始点,坐标(0,-30),(0,-60),(0,-90)变化逆时针绘制半径分别是30,60,90的圆importturtleastforiinrange(3):t.penup()t.goto(0,-30*i)t.pendown()t.circle(30*i+30)123456绘制边长为200的五角星海龟前进200像素改变前进角度:right(144˚)重复上述步骤,5次fromturtleimport*setup(640,480,300,200)pensize(3)foriinrange(5):fd(200)right(144)123456绘制半径为100的四瓣花一个花瓣可以看作是两个圆相交的部分构成绘制圆弧1:从原点(0,0)出发,绘制90˚圆弧结束。此刻坐标(100,100)处,小海龟朝向:绝对角度90˚修改小海龟的朝向,向左旋转90˚绘制圆弧2:从该点出发,绘制90˚圆弧结束。此刻,坐标(0,0),小海龟朝向:绝对角度270˚绘制半径为100的四瓣花importturtleastt.pensize(5)t.pencolor("red")t.seth(0)t.circle(100,90)t.left(90)t.circle(100,90)(0,0)(100,100)绘制半径为100的四瓣花将初始的绝对角度,0˚、90˚、180˚、270˚幅度递增,重复4次,绘制一朵四瓣花图形。修改代码如下:importturtleastt.pensize(5)t.pencolor("red")foriinrange(4):t.seth(i*90)t.circle(100,90)t.left(90)t.circle(100,90)绘制半径为100的五瓣花设置海龟前进绝对角度:以72˚增幅变化海龟逆时针绘制圆弧,半径100,角度108˚。改变海龟朝向:left(72˚)海龟逆时针绘制圆弧,半径100,角度108˚。重复上述步骤,5次。绘制半径为100的五瓣花importturtleastt.pensize(3)t.color("red")t.fillcolor("yellow")t.begin_fill()foriinrange(5):t.seth(i*72)t.circle(100,108)t.left(72)t.circle(100,108)t.end_fill()五瓣花图形目前仅产生指定颜色、大小、位置的一朵花。若要产生颜色、大小、位置随机的花朵,该如何实现呢?random库random库函数random库主要用于产生随机数。导入库:importrandom函数功能seed()设置随机数种子,可以在调用其他随机函数之前使用random()生成一个[0.0,1.0)之间的随机小数randint(a,b)生成一个[a,b]之间的整数randrange(m,n[,k])生成一个[m,n)之间以k为步长的随机整数uniform(a,b)生成一个[a,b]之间的随机小数>>>importrandom>>>random.random()0.48614923936820276>>>random.randint(6,10)6>>>random.uniform(4,6)5.739520964102294random库函数random库主要用于产生随机数。导入库:importrandom>>>ls=[1,2,3,4,5]>>>random.choice(ls)4>>>random.shuffle(ls)>>>ls[1,4,5,2,3]>>>random.sample(ls,3)[1,2,5]>>>函数功能choice(seq)从序列类型中随机选择一个元素返回shuffle(seq)将序列元素次序随机打乱sample(seq,n)从序列中随机取出n个元素,组成新的列表random库函数>>>importrandom>>>random.seed(100)>>>random.random()0.1456692551041303>>>random.random()0.45492700451402135>>>random.seed(100)>>>random.random()0.1456692551041303>>>random.random()0.45492700451402135>>>random.seed(90)>>>random.random()0.20367044742105156>>>random.random()0.09269342184833151>>>实例解析:生成随机验证码生成随机验证码随机验证码由4个字符构成每个字符取自0~9的数字字符和大小写字母分析大小写字母的ASCII码值在65~123之间每个密码取自数字字符和字母,且固定4位,可使用random库的sample()函数生成随机验证码1importrandoms="0123456789"foriinrange(65,124):s=s+chr(i)ls=random.sample(s,4)print("".join(ls))qN35>>>生成随机验证码2importrandoms="0123456789"c=""foriinrange(65,124):s=s+chr(i)forjinrange(4):c=c+random.choice(s)print(c)cCH9>>>实例解析:简易发红包程序简易发红包程序小李打算发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实例解析:绘制缤纷花朵绘制缤纷花朵“缤纷花朵”综合运用了随机库函数,来设置宝石花位置、颜色、大小等。绘制分为以下步骤drawflower(size,k)函数绘制一只花朵。1drawrand()绘制60只颜色、大小、位置随机的花朵,调用drawflower()函数。2设置画板,调用drawrand()函数。3绘制缤纷花朵drawflower(size,k)函数绘制一只半径为size,起始角度为k的五瓣花朵。fromturtleimport*fromrandomimport*defdrawflower(size,k):foriinrange(5):seth(i*72+k)circle(size,108)left(72)circle(size,108)绘制缤纷花朵drawrand()绘制60只颜色、大小、位置随机的花朵,调用drawflower()函数。defdrawrand():foriinrange(60):r,g,b=random(),random(),random()pencolor(r,g,b)penup()setx(randint(-300,300))sety(randint(-200,200))

r1,g1,b1=random(),random(),random()fillcolor(r1,g1,b1)

温馨提示

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

评论

0/150

提交评论