1.基础概念

1 画布(canvas)

画布就是turtle为我们展开用于绘图区域, 我们可以设置它的大小和初始位置。

常用的画布方法有两个:screensize()和setup()。

(1)turtle.screensize(canvwidth=None, canvheight=None, bg=None)

参数分别为画布的宽(单位像素), 高, 背景颜色

如:

turtle.screensize(800, 600, "green")

turtle.screensize() #返回默认大小(400, 300)

(2)turtle.setup(width=0.5, height=0.75, startx=None, starty=None)

参数:

width, height: 输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例

(startx, starty): 这一坐标表示 矩形窗口左上角顶点的位置, 如果为空,则窗口位于屏幕中心

如:

turtle.setup(width=0.6, height=0.6)

turtle.setup(width=800, height=800, startx=100, starty=100)

2 画笔

在画布上,默认有一个坐标原点为画布中心的坐标轴, 坐标原点上有一只面朝x轴正方向小乌龟。

这里我们描述小乌龟时使用了两个词语:标原点(位置),面朝x轴正方向(方向),turtle绘图中, 就是使用位置方向描述小乌龟(画笔)的状态

(1)画笔的属性

画笔有颜色、画线的宽度等属性。

1)  turtle.pensize() :设置画笔的宽度;

2)  turtle.pencolor() :没有参数传入返回当前画笔颜色;传入参数设置画笔颜色,可以是字符串如"green", "red",也可以是RGB 3元组。

>>> pencolor(‘brown‘)

>>> tup = (0.2, 0.8, 0.55)

>>> pencolor(tup)

>>> pencolor()

‘#33cc8c‘

3)  turtle.speed(speed) :设置画笔移动速度,画笔绘制的速度范围[0,10]整数, 数字越大越快

(2)绘图命令

操纵海龟绘图有着许多的命令,这些命令可以划分为3种:运动命令,画笔控制命令和全局控制命令

画笔运动命令:

命令

说明

turtle.forward(distance)

向当前画笔方向移动distance像素长

turtle.backward(distance)

向当前画笔相反方向移动distance像素长度

turtle.right(degree)

顺时针移动degree°

turtle.left(degree)

逆时针移动degree°

turtle.pendown()

移动时绘制图形,缺省时也为绘制

turtle.goto(x,y)

将画笔移动到坐标为x,y的位置

turtle.penup()

移动时不绘制图形,提起笔,用于另起一个地方绘制时用

turtle.speed(speed)

画笔绘制的速度范围[0,10]整数

turtle.circle()

画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆

画笔控制命令:

命令

说明

turtle.pensize(width)

绘制图形时的宽度

turtle.pencolor()

画笔颜色

turtle.fillcolor(colorstring)

绘制图形的填充颜色

turtle.color(color1, color2)

同时设置pencolor=color1, fillcolor=color2

turtle.filling()

返回当前是否在填充状态

turtle.begin_fill()

准备开始填充图形

turtle.end_fill()

填充完成;

turtle.hideturtle()

隐藏箭头显示;

turtle.showturtle()

与hideturtle()函数对应

全局控制命令

命令

说明

turtle.clear()

清空turtle窗口,但是turtle的位置和状态不会改变

turtle.reset()

清空窗口,重置turtle状态为起始状态

turtle.undo()

撤销上一个turtle动作

turtle.isvisible()

返回当前turtle是否可见

stamp()

复制当前图形

turtle.write(s[,font("fontname",font_size,"font_type")])

写文本,s为文本内容,font是字体的参数,里面分别为字体名称,大小和类型;font为可选项, font的参数也是可选项

2. 绘图举例

哆啦A梦

1 importturtle as t2 importmath as m3

4 t.pensize(4) #设置画笔的大小

5 t.colormode(255) #设置GBK颜色范围为0-255

6 t.color((0,0,255),"blue") #设置画笔颜色和填充颜色(pink)

7 t.setup(800,600) #设置主窗口的大小为840*500

8 t.speed(10) #设置画笔速度为10

9 #头部

10 t.hideturtle()11 t.pu() #提笔

12 t.goto(-50,0) #画笔前往坐标(0,0)

13 t.seth(150)14 t.pd() #下笔

15 t.begin_fill()16 t.color(0,0,255)17 for i in range(300):18 t.rt(1)19 t.forward(2*m.pi*100/360)20 t.seth(0)21 t.backward(10)22

23 t.seth(30)24 for i in range(300):25 t.lt(1)26 t.forward(2*m.pi*80/360)27 t.seth(0)28 t.backward(10)29 t.end_fill()30 #眼睛

31 t.pu()32 t.begin_fill()33 t.pensize(3)34 t.pencolor(0,0,0)35 t.goto(-15,40*m.sqrt(3)+60)36 t.pd()37 t.circle(15)38 t.color(255,255,255)39 t.end_fill()40

41 t.pu()42 t.begin_fill()43 t.pensize(3)44 t.pencolor(0,0,0)45 t.goto(-15,40*m.sqrt(3)+60)46 t.pd()47 t.circle(5)48 t.color(0,0,0)49 t.end_fill()50

51 t.pu()52 t.begin_fill()53 t.pensize(3)54 t.pencolor(0,0,0)55 t.goto(15,40*m.sqrt(3)+60)56 t.pd()57 t.circle(15)58 t.color(255,255,255)59 t.end_fill()60

61 t.pu()62 t.begin_fill()63 t.pensize(3)64 t.pencolor(0,0,0)65 t.goto(15,40*m.sqrt(3)+60)66 t.pd()67 t.circle(5)68 t.color(0,0,0)69 t.end_fill()70

71

72 #鼻子

73 t.pu()74 t.pensize(3)75 t.pencolor(255,0,0)76 t.goto(0,40*m.sqrt(3)+40)77 t.pd()78 t.begin_fill()79 t.color(255,0,0)80 t.circle(10)81 t.end_fill()82 #嘴巴

83 t.pu()84 t.pensize(3)85 t.pencolor(0,0,0)86 t.goto(0,40*m.sqrt(3)+40)87 t.pd()88 t.seth(-90)89 t.forward(50)90 t.pu()91 t.goto(-50,90-10*m.sqrt(3))92 t.seth(-30)93 t.pd()94 for i in range(60):95 t.lt(1)96 t.forward(2*m.pi*100/360)97

98

99 #胡须

100 t.pu()101 t.pensize(3)102 t.pencolor(0,0,0)103 t.goto(-30,40*m.sqrt(3)+25)104 t.seth(0)105 t.pd()106 t.backward(40)107

108 t.pu()109 t.pensize(3)110 t.pencolor(0,0,0)111 t.goto(-30,40*m.sqrt(3)+15)112 t.pd()113 t.seth(30)114 t.backward(40)115

116 t.pu()117 t.pensize(3)118 t.pencolor(0,0,0)119 t.goto(-30,40*m.sqrt(3)+35)120 t.pd()121 t.seth(-30)122 t.backward(40)123

124 t.pu()125 t.pensize(3)126 t.pencolor(0,0,0)127 t.goto(30,40*m.sqrt(3)+25)128 t.seth(0)129 t.pd()130 t.forward(40)131

132

133

134 t.pu()135 t.pensize(3)136 t.pencolor(0,0,0)137 t.goto(30,40*m.sqrt(3)+35)138 t.pd()139 t.seth(30)140 t.forward(40)141

142 t.pu()143 t.pensize(3)144 t.pencolor(0,0,0)145 t.goto(30,40*m.sqrt(3)+15)146 t.pd()147 t.seth(-30)148 t.forward(40)149

150 #a=0.4

151 #for i in range(360):

152 #if 0<=i<90 or 180<=i<270:

153 #a=a+0.008

154 #t.lt(1) #向左转3度

155 #t.fd(a) #向前走a的步长

156 #else:

157 #a=a-0.008

158 #t.lt(1)

159 #t.fd(a)

160 t.done()

代码运行结果如下:

python turtle库的使用_Python turtle库使用教程相关推荐

  1. python中的turtle库中引用_python turtle库学习笔记

    1.turtle库是python语言中一个很流行的绘制图像的函数库 想象一只小乌龟,在一个横轴为x,纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它 ...

  2. python中的画笔控制函数_Python turtle库的画笔控制说明

    turtle.penup() 别名 turtle.pu() :抬起画笔海龟在飞行 turtle.pendown() 别名 turtle.pd():画笔落下,海龟在爬行 turtle.pensize(w ...

  3. python用turtle调整文字位置_Python turtle学习笔记

    一.简介 Turtle最早来自于LOGO语言,是专门用于小孩子学习编程的,通过编程模拟一只turtle(海龟)在画板上爬行绘制图案,后来很多高级语言都移植了海龟绘图,python从2.6之后也将tur ...

  4. python中mainloop什么意思_Python Turtle mainloop()用法

    我有一个online tutorial的以下代码来学习基于事件的编程,方法是在点击鼠标时使停止灯改变状态.这里是我的代码的全部:Python Turtle mainloop()用法 import tu ...

  5. python扩展库丰富吗_python扩展库

    python更新所有的包 1 2 3 4 5 6 7 8> import pip > from subprocess import call > > package_list_ ...

  6. python画圆填色_python turtle我想用五种颜色画五个圆,并且用画圆周的颜色填充,老是出问题,怎么回事,怎么修改?:python教程同心圆...

    python turtle画4个同心圆方法 from turtle import * def test(): reset() circle(30,-360) up() goto(0,-10) down ...

  7. python里turtle.circle什么意思_Python turtle.circle方法代碼示例

    本文整理匯總了Python中turtle.circle方法的典型用法代碼示例.如果您正苦於以下問題:Python turtle.circle方法的具體用法?Python turtle.circle怎麽 ...

  8. python random库怎么用_Python || Random库的使用

    点击上方蓝字关注"程序员Bob"呀~ 每日一句,送给最珍贵的你: 人们内心的恐惧,有部分来自于过去事实所造成的伤害,但另一部分,却是源自我们对恐惧的想像和无限放大. 在C语言我们可 ...

  9. python turtle怎么用变量_Python Turtle绘图指定变量时出现问题

    几小时后我有一个作业要交,我不知道该做什么. 我使用的是python3.在 我一直试着运行代码,但是我出错了.在这一点上,我想我应该寻求帮助.在 提前谢谢你!在import turtle import ...

最新文章

  1. Linux环境HBase安装与使用
  2. 链表数据结构图解 和 代码实现
  3. src-d/gogit 使用
  4. 属性property
  5. 错误 执行Transact-SQL语句批处理时发生了异常。无法设置主体'sa'的凭据
  6. 细粒度审计导致SYSTEM表空间异常引发ORA-01653同时性能异常
  7. 《Java基础学习笔记》JAVA基础
  8. 学习QT之位置相关函数
  9. 极值点 驻点 鞍点 拐点
  10. latex表格中如何画虚线
  11. elasticsearch插件之cerebro的安装
  12. Advanced SystemCare Pro 中文绿色特别便携正式版一款易于使用的 Windows 电脑优化工具
  13. 集合相关题目0927
  14. 创建deployment
  15. 关于典型二阶系统固有频率
  16. usb扫描枪驱动下载 wince_WinCE系列全站仪USB驱动程序
  17. 广东东软学院计算机一级考试,广东东软学院教务管理系统入口https://www.nuit.edu.cn/...
  18. 淘宝联盟代码html无法显示,阿里妈妈的iconfont的引用问题
  19. HTTP协议入门详解
  20. Symbian OSE Client-Server Summary

热门文章

  1. BUILD大会感想:Windows 8 启动开发者新纪元(首发-程序员10月刊)
  2. 用3D max导入模型时,清除丢失的材质贴图和路径
  3. mysql 获取指定时区时间格式,JsonFormat指定时区
  4. python实现两张图片相似度对比——汉明距离
  5. 开通淘宝个人店铺要点之验证支付宝信息!
  6. 如何给微信小程序做排名?
  7. 全局CSS之表单按钮图片辅助类响应式工具)
  8. 杜兰特!想当超级英雄,就必须承受这该死的伤病!
  9. 小程序使用腾讯地图实现线路规划
  10. matlab中 4.2f,C语言编程中%4.2f是什么意思