1.窗体函数
- turtle.setup(width,height,startx,starty)
- 作用:设置窗体的大小和位置
- width:窗口宽度,如果值是整数,表示像素值;如果值是小数,表示窗口宽度与屏幕的比例。
- height:窗口高度,如果值是整数,表示像素值;如果值是小数,表示窗口高度与屏幕的比例。
- startx:窗口左侧与屏幕左侧的像素距离,如果值是None,窗口位于屏幕水平中央。
- starty:窗口顶部与屏幕顶部的像素距离,如果值是None,窗口位于屏幕垂直中央。
2.画笔状态函数
| pendown() |
发下画笔 |
| penup() |
提起画笔,与pendown()配对使用 |
| pensize(width) |
设置画笔线条的粗细为指定大小 |
| color() |
设置画笔的颜色 |
| begin_fill() |
填充图形前,调用该方法 |
| end_fill() |
填充图形结束 |
| filling() |
返回填充的状态,True为填充,False为未填充 |
| clear() |
清空当前窗口,但不改变当前画笔的位置 |
| reset() |
清空当前窗口,并重置位置等状态为默认值 |
| screensize() |
设置画笔的长和宽 |
| hideturtle() |
隐藏画笔的turtle形状 |
| showturtle() |
显示画笔的turtle形状 |
| isvisible() |
如果turtle可见,则返回True |
3.画笔运动函数
| forward() |
沿着当前方向前进指定距离 |
| backward() |
沿着当前相反方向后退指定距离 |
| right(angle) |
向右旋转angle角度 |
| left(angle) |
向左旋转angle角度 |
| goto(x,y) |
移动到绝对坐标( x,y) 处 |
| setx( ) |
将当前x轴移动到指定位置 |
| sety( ) |
将当前y轴移动到指定位置 |
| setheading(angle) |
设置当前朝向为angle角度 |
| home() |
设置当前画笔位置为原点, 朝向东。 |
| circle(radius,e) |
绘制一个指定半径r和角度e的圆或弧 |
| dot(r,color) |
绘制一个指定半径r和颜色color的圆点 |
| undo() |
撤销画笔最后一步动作 |
| speed() |
设置画笔的绘制速度, 参数为0-10之间 |
4.案例
- 案例-1:使用turtle库绘制轮廓颜色为红色(red)、填充颜色为粉红色(pink)的心形图形
from turtle import *
color('red', 'pink') # 设置画笔的颜色
begin_fill() # 填充图形前,调用该方法
left(135) # 向左旋转135度
fd(100) # 控制画笔向当前行进方向前进100
right(180) # 向右旋转180度
circle(50,-180) # 绘制一个指定半径50和角度180的圆或弧形
left(90) # 向左旋转90度
circle(50,-180) # 绘制一个指定半径50和角度180的圆或弧形
right(180) # 向右旋转180度
fd(100) # 控制画笔向当前行进方向前进100
end_fill() # 填充图形完成
hideturtle() # 隐藏画笔的形状
done()
from turtle import *
setup(400,400) # 窗体的大小400*400
penup() # 提起画笔
goto(-100,50) # 移动到绝对坐标(-100,50)
pendown() # 落下画笔, 之后, 移动画笔将绘制形状
color('red')
begin_fill() # 填充图形
for i in range(5):
forward(200) # 沿着当前方向前进200
right(144) # 向右旋转144角度
end_fill() # 填充图形结束
hideturtle()
done()
from turtle import *
n = 10
for i in range(1,10):
for j in [90,180,-90,0]:
seth(j) # 改变画笔绘制方向
fd(n) # 当前行进方向前进n+5
n += 5
hideturtle()
done()
from turtle import *
setup(800,300) # 设置主窗体的大小和位置
penup() # 抬起画笔,之后, 移动画笔不绘制形状
fd(-350)
pendown() # 落下画笔, 之后, 移动画笔将绘制形状
def DrawLine(size):
for angle in [0,90,-90,-90,90]:
left(angle) # 向左旋转angle角度
fd(size)
for i in [20,30,40,50,40,30,20]:
DrawLine(i)
hideturtle()
done()
from turtle import *
def DrawCctCircle(n):
penup() # 抬起画笔,之后, 移动画笔不绘制形状
goto(0,-n) # 移动到绝对坐标( 0,-n) 处
pendown() # 落下画笔, 之后, 移动画笔将绘制形状
circle(n) # 绘制一个指定半径n圆
for i in range(20,100,20):
DrawCctCircle(i)
hideturtle()
done()