python3Turtle⼊门教程
⽬录
前⾔
  Turtle库是Python语⾔中⼀个很流⾏的绘制图像的函数库,想象⼀个⼩乌龟,在⼀个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据⼀组函数指令的控制,在这个平⾯坐标系中移动,从⽽在它爬⾏的路径上绘制了图形。
在这⾥插⼊图⽚描述
1,安装turtle
python2 安装 pip install turtle
python3 安装 pip3 install turtle
2 基础概念
2.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)
参数:精通javascript pdf
width, height: 输⼊宽和⾼为整数时, 表⽰像素; 为⼩数时, 表⽰占据电脑屏幕的⽐例
(startx, starty): 这⼀坐标表⽰ 矩形窗⼝左上⾓顶点的位置, 如果为空,则窗⼝位于屏幕中⼼
例:
turtle.setup(width=0.6, height=0.6)
turtle.setup(width=800, height=800, startx=100, starty=100)
2.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'
电脑浏览器启用javascript3,turtle.speed(speed) :设置画笔移动速度,画笔绘制的速度范围[0,10]整数, 数字越⼤越快
3,turtle库绘图命令
操纵海龟绘图有着许多的命令,这些命令可以划分为3种:运动命令,画笔控制命令和全局控制命令
画笔运动命令:
命令说明
turtle.forward(distance)向当前画笔⽅向移动distance像素长
turtle.backward(distance)向当前画笔相反⽅向移动distance像素长度
turtle.right(degree)顺时针移动degree°
turtle.left(degree)逆时针移动degree°
turtle.pendown()移动时绘制图形,缺省时也为绘制
<(x,y)将画笔移动到坐标为x,y的位置创新驱动发展战略促进国民经济更高质量更有效率
turtle.penup()移动时不绘制图形,提起笔,⽤于另起⼀个地⽅绘制时⽤turtle.speed(speed)画笔绘制的速度范围[0,10]整数
turtle.circle()画圆,半径为正(负),表⽰圆⼼在画笔的左边(右边)画圆
画笔控制命令:
命令说明
turtle.pensize(width)绘制图形时的宽度
turtle.pencolor()画笔颜⾊
turtle.fillcolor(colorstring)绘制图形的填充颜⾊
turtle.filling()返回当前是否在填充状态
turtle.begin_fill()准备开始填充图形
turtle.hideturtle()隐藏箭头显⽰;
turtle.showturtle()与hideturtle()函数对应
命令说明
全局控制命令
命令说明
turtle.clear()清空turtle窗⼝,但是turtle的位置和状态不会改变
turtle.undo()撤销上⼀个turtle动作
turtle.isvisible()返回当前turtle是否可见
stamp()复制当前图形
turtle.write(s[,font=(“font-name”,font_size,“font_type”)])写⽂本,s为⽂本内容,font是字体的参数,⾥⾯分别为字体名称,⼤⼩和类型;font为可选项,
font的参数也是可选项
4,绘图举例
1,绘制五⾓星
import turtle turtle.fillcolor("red") turtle.begin_fill()
for i in range(5):
turtle.forward(200)    turtle.right(144) d_fill() turtle.hideturtle() turtle.done()
2,绘制六边形风车
import turtle
turtle.pensize(2)
turtle.bgcolor("black")
turtle.speed(0)
colors =["red","yellow","blue","orange","green","purple"]
for i in range(100):
turtle.pencolor(colors[i %6])
smart分析turtle.forward(i)
turtle.left(60+1)
turtle.hideturtle()
turtle.done()
3,绘制谢尔宾斯基三⾓形
import turtle
def draw_triangle(points, color, t):
t.fillcolor(color)
t.up()
<(points[0][0], points[0][1])
t.down()
t.begin_fill()
<(points[1][0], points[1][1])
<(points[2][0], points[2][1])
<(points[0][0], points[0][1])
python入门教程(非常详细)书t.end_fill()
def get_mid(point1, point2):
return(point1[0]+ point2[0])/2,(point1[1]+ point2[1])/2
def sierpinski(points, degree, t):
color_map =['blue','red','green','yellow','violet','orange','white',]
draw_triangle(points, color_map[degree], t)
if degree >0:
sierpinski([points[0], get_mid(points[0], points[1]), get_mid(points[0], points[2])], degree -1, t)        sierpinski([points[1], get_mid(points[0], points[1]), get_mid(points[1], points[2])], degree -1, t)        sierpinski([points[2], get_mid(points[0], points[2]), get_mid(points[1], points[2])], degree -1, t)
if __name__ =="__main__":
t = turtle.Turtle()
t.speed(5)
win = turtle.Screen()
points =[[-100,-50],[0,100],[100,-50]]
sierpinski(points,3, t)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。