Turtle海龟库python3内置简单却很强大的绘图库
1说明
1。1环境:python3。8,集成(内置)turtle库;华为笔记本电脑deepinlinux操作系统。
1。2turtle库入门级介绍:基本了解turtle库,python基础知识复习,讲解清楚,注释仔细,小白秒懂,逐步深入,适合仔细品读。
1。3代码来自turtledemo和网络(自己整理和加工),仅供学习,如有侵权,请联系,定删。
2海龟画图初级
2。1基本窗口设置和图片显示
2。2显示图片
2。3代码:自定义窗口大小,背景颜色窗口标题名,位置importturtleast方法一其实是通过设置画布大小来改变窗口大小t。screensize(800,600,green)screensize()返回默认大小(400,300)用screensize设置的是画布大小及背景色,窗体和画布不是一个概念会出现滚动条方法二屏幕的宽和高的百分百,默认位置屏幕的居中t。setup(width0。6,height0。6)指定窗口大小和位置,注意左上角坐标为0,0t。setup(width800,height800,startx100,starty100)载入背景图片,是原图大小显示与窗口大小不是自适应t。bgpic(homexgjDesktopturtle1。jpeg)bug,可以识别png图片,但是jpeg不行用截图工具,截图生产png,可以。网上说只能显示gif图片,其实还可以显示png图片t。bgpic(homexgjDesktopturtle2。png)请注意,还可以显示gif图片,但是gif图片是不动的窗口的标题名默认为PythonTurtleGraphicst。title(good)可自定义需要手动关闭t。done()
3太阳花
3。1效果图
3。2代码:太阳花importturtleastturtle。color(color1,color2)同时设置pencolorcolor1,fillcolorcolor2默认第一画笔颜色,第二为填充颜色t。color(red,yellow)画笔速度画笔绘制的速度范围〔0,10〕整数,数字越大越快t。speed(10)注意颜色填充fill需要begin和end之间类似一对括号t。beginfill()下划线表示临时变量,仅用一次,后面无需再用到forinrange(50):向前走长度distancet。forward(200)向左转,逆时针转动角度degreet。left(170)t。endfill()t。done()补充:t。backward()向后走长度t。right()向右转,顺时针转动角度
4画圆和多边形
4。1效果图
4。2代码fromturtleimportturtle。circle(radius,extentNone,stepsNone)extent为度数,默认360,也就是一圈steps数值越大,圆的弧线越平滑,一般推荐50,不设置就是默认circle(100)默认360为一圈circle(200,360,50)圆circle(200,360,3)为三角形circle(200,360,9)为9边形done()
4。3同心圆代码fromturtleimport初始圆(最内部的圆)的半径r50同心圆间的距离linew30circle(r)修改画笔宽度pensize(5)for循环,用于绘制同心圆foriinrange(1,9):画笔抬起(不会在窗体上留下痕迹)penup()移动画笔到坐标(0,10i)去某个坐标点goto(0,linewi)画笔落下(开始在窗体上留下痕迹)pendown()在循环中不断绘制半径不同的圆circle(rilinew)done()
4。4同心圆效果图
4。5移动的圆
4。5。1效果图
4。5。2代码移动的圆fromturtleimportbgcolor(black)该函数学习自定义坐标系统,并切换到world模式setworldcoordinates(100,100,150,100)speed(0)pendown()pencolor(green)画圆circle(30,360,50)forsinrange(400):setworldcoordinates(100,100,10s0。5,100)done()
5高级一点
5。1效果图
5。2代码importturtleastt。bgcolor(black)sides66边colors〔red,yellow,green,blue,orange,purple〕120为圈数,层数forxinrange(120):t。pencolor(colors〔xsides〕)t。forward(x3sidesx)t。left(360sides1)t。width(xsides200)t。done()
5。3输入文字的代码importturtleast画布的背景颜色设置t。bgcolor(black)textinput是调用tkinter的弹出框第一个字符串为弹出窗口的标题名第二个字符串为输入框上面的文字名mynamet。textinput(输入你的姓名,你的名字?)colors〔red,yellow,purple,blue〕100为一百圈forxinrange(100):画笔的颜色选择t。pencolor(colors〔x4〕)提笔t。penup()向前步长t。forward(x4)落笔t。pendown()文字输出t。write(myname,font(Arial,int((x4)4),bold))向左转动92t。left(92)结束后手动关闭窗口t。done()
5。4效果图
6画树
6。1图
6。2代码画树熟悉可能的缩写fromturtleimportfromrandomimportfrommathimportdeftree(n,l):pd()下笔pendown阴影效果tcos(radians(heading()45))80。25pencolor(t,t,t)pensize(n3)forward(l)画树枝,fdforwardifn0:brandom()1510右分支偏转角度crandom()1510左分支偏转角度dl(random()0。250。7)下一个分支的长度右转一定角度,画右分支right(b)tree(n1,d)左转一定角度,画左分支left(bc)tree(n1,d)转回来right(c)else:画叶子right(90)ncos(radians(heading()45))40。5pencolor(n,n0。8,n0。8)circle(3)left(90)添加0。3倍的飘落叶子if(random()0。7):pu()飘落theading()an40random()40setheading(an)disint(800random()0。5400random()0。3200random()0。2)forward(dis)setheading(t)画叶子pd()pendownright(90)ncos(radians(heading()45))40。5pencolor(n0。50。5,0。4n0。4,0。4n0。4)circle(2)left(90)pu()penup返回theading()setheading(an)backward(dis)setheading(t)pu()penup提笔backward(l)退回bgcolor(0。5,0。5,0。5)背景色bgcolor(black)ht()隐藏turtlehideturtlespeed(0)速度,110渐进,0最快tracer(0,0)pu()抬笔backward(100)left(90)左转90度pu()抬笔backward(300)后退300tree(12,100)递归7层done()
7高级互动性
7。1效果图
7。2代码fromturtleimportScreen,Turtle,mainloopclassColorTurtle(Turtle):类的初始化定义definit(self,x,y):Turtle。init(self)self。shape(turtle)self。resizemode(usre)self。shapesize(3,3,0)self。pensize(10)self。color〔0,0,0〕self。xxself。color〔x〕yself。color(self。color)self。speed(0)self。left(90)self。up()self。goto(x,0)self。down()self。sety(1)self。up()self。sety(y)self。pencolor(black)self。ondrag(self。shift)类的函数定义defshift(self,x,y):self。sety(max(0,min(y,1)))self。color〔self。x〕self。ycor()self。fillcolor(self。color)setbgcolor()独立的函数定义defsetbgcolor():screen。bgcolor(red。ycor(),green。ycor(),blue。ycor())主函数定义defmain():globalscreen,red,green,bluescreenScreen()screen。delay(0)screen。setworldcoordinates(1,0。3,3,1。3)redColorTurtle(0,。7)greenColorTurtle(1,。3)blueColorTurtle(2,。6)setbgcolor()ifnamemain:main()mainloop()
代码来源网络,仅供学习。
好的婚姻双方用心,好好的爱,互相的关心,才可以长久婚姻是城外人们想进入的篱笆,城内会由一个人来设计;你知道钥匙的作用吗?一把永远保护不了绅士却阻止不了小人的锁,然而,一个高贵的丈夫,不管你是否被锁上,都不会走进别人的家;……
这野菜台湾人叫它补血菜,田间地头很多,营养极高特鲜嫩小雨美食纪原创图片、文章,严禁搬运、抄袭、洗稿,违者必究!这野菜台湾人叫它补血菜,田间地头很多,营养极高特鲜嫩!平时我们吃惯了白菜、萝卜之类常见的蔬菜,所以这次就来……
对鸭表情包趣味表情包下载APP对鸭表情包是一款主打趣味表情包下载的软件,如果经常在和小伙伴的斗图比赛中落败的话,那么不如使用这款软件来补充表情包弹药吧!其汇集了海量趣味、原创表情包等你下载,且会实时进行更新……
把习惯保持好,才能越活越好俗话说得好,人生多坎坷,一笑化清风!没有谁喜欢接收消极情绪,再亲的关系,也会有所抵触。不妨转移注意力,心情糟糕时,少说话多去整理房间、整理家。一通心无旁骛地打扫下来,汗也出了,……
港剧为什么不叫国产剧呢,可能关乎一些爱国者的议论港剧与国产剧网上流传一种说法,为什么港剧不叫国产剧,香港回归都那么多年了?当然,发表本文不是在质疑爱国者的爱国情怀,只是在说说有关港剧另一个角度的看法。事实上,网上……
衣柜这样设计瞬间变大胃王,一家老小都能用收纳有多重要?不懂收纳,会觉得卧室永远不够大、衣服总是装装装装装不完;懂得收纳技巧,多大的空间都能被打理得井井有条。衣物收纳技巧仿佛有千千万万条,其实没那么麻烦,归结起来……
健康知识冬季护眼常识随着气温降低,眼病患者逐渐增多,应注意加强预防。人们常说:人全身上下,唯独眼睛不怕冷。其实,在寒冷的冬季,眼睛也会着谅。由于眼睛是裸露在外的,容易罹患多种眼疾。为此,提醒各位朋……
高中生是不是伪学霸,主要看这门学科,班主任的分析很有道理学生时代虽然学习也比较辛苦,但是却是人生最幸福的阶段,生活中的其他小事都由父母们做好了,同学们只要把更多的心思用在学习和提升成绩上就可以了。尤其在高中时期,紧张的学习生活……
铁饭碗排行榜出炉,公务员未进前三,榜首实至名归考上大学并不是每个学生的终点,能够在高考中金榜题名仅仅是实现了人生的第一步,重要的转折,通过大学的熏陶,学习高等的知识和文化,将来有一个好的工作,过上更好的生活,才是学生们最终……
令人意外,孩子从电动车跌落追上爸爸,居然被一脚踹倒孩子一般是家里的小宝贝,一般情况下都是被父母捧在手里关爱,在孩子遭受到危险时,父母总是挺身而出,将孩子呵护在自己的羽翼之下,防止孩子受到伤害。但是湖北近日发生了一件事情令……
生二胎是错误决定,35岁二胎宝妈深夜哭诉,说出家长们心声二胎家庭的生活,总归要更热闹一些。近两年来,我国为了提高人口出生率,就开放了二胎政策。虽然有些人仍然不打算生孩子,但还是有不少家长,选择加入二胎大军中。可二胎家庭听……
孩子看色情片,作为父母,我们到底可以做些什么?首先,如果孩子已经看了色情片,你也不要太焦虑。看了就看了,没什么大不了的。关键是,你要明白,你还有机会跟进她的性发展,用科学的正确的性教育来影响她。比起完美的……