turtle(海龟)是Python内置的一个标准模块,它提供了绘制线、圆以及其它形状的函数,使用该模块可以创建图形窗口,在图形窗口中通过简单重复动作直观地绘制界面与图形。
主要使用方面为:创建窗口、设置画布、绘制图形
图形窗口也称为画布(canas),控制台无法绘制图形,使用turtle模块绘制图形化界面,需要先使用setup()函数创建图形窗口。
turtle.setup(width, height, startx=None, starty=None)
startx、starty的取值可以为整数或None; 当取值为整数时,分别表示图形窗口左侧、顶部与屏幕左侧、顶部的距离(单位为像素); 当取值为None时,窗口位于屏幕中心。
画笔(pen)的设置包括画笔属性,如尺寸、颜色的设置,和画笔状态的设置。
1.画笔属性函数
turtle.pensize() # 设置画笔尺寸
turtle.speed(speed) # 设置画笔移动速度
turtle.color(color) # 设置画笔颜色
2.画笔状态函数
turtle.penup() # 提起画笔
turtle.pendown() # 放下画笔
1.移动控制函数
turtle.forward(distance) # 向前移动
turtle.backward(distance) # 向后移动
turtle.goto(x,y=None) # 移动到指定位置
2.角度控制函数
turtle.right(degree) # 向右转动
turtle.left(degree) # 向左转动
turtle.seth(angle) # 转动到某个方向
3.绘制函数
turtle.circle(radius, extent=None, steps=None)
- radius为正时,画笔以原点为起点向上绘制弧线
- radius为负时,画笔以原点为起点向下绘制弧线
- extent为正时,画笔以原点为起点向右绘制弧线
- extent为负时,画笔以原点为起点向左绘制弧线
4.图形填充
turtle.begin_fill() # 开始填充
turtle.end_fill() # 结束填充
举例:绘制多个起点相同但大小不同的五角星
import turtle as t
def draw_fiveStars(leng):
count = 1
while count <= 5:
t.forward(leng)
t.right(144)
count += 1
leng += 10
if leng <= 100:
draw_fiveStars(leng)
def main():
t.penup()
t.backward(100)
t.pendown()
t.pensize(2)
t.pencolor('red')
segment = 50
draw_fiveStars(segment)
t.exitonclick()
if __name__ == '__main__':
main()
效果图如下: