这篇教程Python海龟绘图详解写得很实用,希望能帮到您。 hello,大家好,我是Dream。最近有小伙伴私信我,说让我出一篇海龟画图,这其实我也不太能弄得明白,那在这里我和大家一块梳理一下!记得给我点赞收藏哟~
一.画笔和屏幕这里单独拿开一个讲的话会很抽象,因为一个是线,另一个是面,面是线的载体,线是面的内容 首先大家先运行这一段代码: import turtle#调用turtle库turtle.title("绘制第一只海龟")#设置窗口名称print('开始了')turtle.forward(100)turtle.left(30) #左转弯和右转弯一个意思不用写turtle.forward(100) 我们可以看到运行结果是这个: 
你会发现他只会存在一瞬间,画完就不见了 我们总会想让美好的瞬间多存在一会,这个时候我们往往会用到time这个库 让我们看一看新的代码: import turtleimport timeturtle.title("绘制第一只海龟")print('let's go')turtle.forward(100)turtle.left(30) #左转弯和右转弯一个意思不用写turtle.forward(100)time.sleep(10)#这里调用了time库,sleep顾名思义,睡眠的意思,括号里是秒数,就是你想让他停留几秒的意思 现在我们的画面便可以停留10s了 当然不用time也是可以的,上代码: import turtleturtle.title("绘制第一只海龟")print('开始了')turtle.forward(100)turtle.left(30) #左转弯和右转弯一个意思不用写turtle.forward(100)turtle.exitonclick() # 实现单击鼠标左键时关闭窗口 或者你可以换成 turtle.done() 让画面一直停留 说了折磨多,那屏幕是怎么产生的呢? 来直接看代码: turtle.setup(width=400, height=300, startx=None, starty=None) 这里是设置屏幕的大小,就像上一段代码一样,如果你没有设置大小的话,那屏幕就是默认值。 此处: width:设置窗口的宽度,默认为屏幕的 50%。 height:设置窗口的高度,默认为屏幕的 50%。 startx:窗口距离屏幕左边缘多少距离,负值表示距离右边缘,None 表示窗口水平居中。 starty:窗口距离屏幕上边缘多少距离,负值表示距离下边缘,None 表示窗口垂直居中。 当然如果你觉得屏幕背景白色太单调的话你也可以设置一下他的背景颜色或者插入自己的图片(但图片大小不一,想要设置的好看的话,需要自己调节屏幕大小尺寸) 话不多说,直接上代码: import turtleturtle.title("绘制第一只海龟")turtle.bgcolor("green")#这里是设计背景颜色turtle.bgpic(picname='./imgs/xu.gif')#这里是插入图片,图片必须放在同一路径文件下#图片格式必须为gif!!!,不然无法识别turtle.forward(100)turtle.left(30) #左转弯和右转弯一个意思不用写turtle.forward(100)turtle.done() # 海龟绘图程序的结束语句(开始主循环)turtle.done() # 海龟绘图程序的结束语句(开始主循环) 这是我自己的背景: 
还行啊吧,我的眼光还是不错的哟~ 关于屏幕知识也就这些了,接下来说一下画笔: 拿我们刚才写的代码来说: import turtleturtle.title("绘制第一只海龟")turtle.bgcolor("green")#这里是设计背景颜色turtle.bgpic(picname='./imgs/xu.gif')turtle.forward(100)turtle.left(30) #左转弯和右转弯一个意思不用写turtle.forward(100)turtle.done() forward表示向前走,left向左拐多少度,back向后,right向右拐多少度,这是最基本的,看点稍微高级一点的: import turtleimport timeturtle.goto(100, 100)turtle.goto(-100, 100)turtle.goto(100, -100)turtle.goto(-100, -100)turtle.goto(0, 0)turtle.penup()#这里指从0开始抬笔,继续路线,只是不画了turtle.forward(100)turtle.right(90)turtle.pendown()#落笔继续画turtle.color("red")#画笔颜色turtle.goto(100, -100)time.sleep(5) 
这里:初始位置都是0,就是屏幕中央 放下笔:pendown() 抬起笔:penup() 到指定坐标:goto(x, y) 颜色:color(“cc”) 画笔的颜色主要有: 黄色:yellow 红色:red 蓝色:blue 绿色:green 粉色:pink 紫色:purple 灰色:grey 橘色:orange 那如果你觉得画笔太细咋办,来上代码: 这个帮你调粗细,初始值为1 如果你觉得速度不对呢,来上代码: turtle.speed(0) # 设置画笔的速度,0为最快 其中0最快,直接出结果,1最慢,然后从2~10依次加快 那这些就是你要掌握的基础知识了~
二.实战与应用
1.写字如何在上面写字呢:来来来上代码: turtle.write( arg, move=False, align="left", font=("Arial", 8, "normal")) arg:必选参数,用于指定要输出的文字内容,该内容会输出到当前海龟光标的所在位置。 move:可选参数,用于指定是否移动画笔到文本的右下角**,默认为False (不移动)。** align:可选参数,用于指定文字的对齐方式,其参数值为left(居左)、center(居中)或者right(居右)中的任意一个,默认为 left。 font:可选参数,用于指定字体、字号和字形,通过一个三元组(字体,字号,字形)指定。 说明:字形可设置的值为normal(表示正常)、bold(粗体)、italic(斜体)、underline(下划线)等。 上代码: import turtle # 导入海龟绘图模块turtle.color("green") # 填充颜色turtle.up() # 抬笔turtle.goto(-300,0)turtle.down() # 落笔turtle.write("徐以鹏比易烊千玺帅亿点。", font=("宋体", 18, "normal"))turtle.done() # 海龟绘图程序的结束语句(开始主循环) 
那就是这个效果了~
2.用于交互式写字import turtle # 导入海龟绘图模块turtle.color("green") # 填充颜色word = turtle.textinput("温馨提示:", "请输入要打印的文字") # 弹出输入对话框turtle.write(word, True, font=("宋体", 18, "italic")) # 输出文字turtle.done() # 海龟绘图程序的结束语句(开始主循环) 
3.自己控制方向import turtledef move(): turtle.left(90) turtle.forward(100)turtle.listen()#监听鼠标turtle.onkey(move, "w")#按w进行走动turtle.done() import turtledef move(): turtle.forward(2)turtle.listen()turtle.onkeypress(move, "w")#一直按w才走turtle.done()
4.拖动小海龟画图ondrag():表示处理鼠标拖动事件 默认值为1(鼠标左键)、2(鼠标中键,即按下滑轮)、3(鼠标右键) import turtlet = turtle.Turtle()t.shape("turtle")t.color("green")turtle.listen()def fun(x, y): t.pendown() t.goto(x, y)t.ondrag(fun, 1)turtle.done()
5.规定时间后开始画ontimer() 方法来实现一个计时器,用于达到指定时间时,执行一个操作 Python绘制圣诞树+落叶+雪花+背景音乐+浪漫弹窗 po+selenium+unittest自动化测试项目实战 |