最近兼职在带教学机构的学生参加编程大赛,了解到Python的turtle,随记录一下.

介绍

turtle库是Python的标准库之一, 能进行简单的图形绘制, turtle是以窗体中心为坐标原点建立平面直角坐标系的,初始方向为x轴正方向.

turtle库绘图的基本方法

首先引入turtle库

import turtle

画布

设置画布的大小

#参数分别为画布的宽(单位像素),高,背景颜色。
turtle.screensize(canvaswidth=None,canvasheight=None,bg=None)
#例:
turtle.screensize(500,400,"gray")
#如未指定任何参数,则返回当前的 (canvaswidth, canvasheight) (400,300)

设置画布的初始位置

'''参数:width,height:输入宽和高为整数时,表示像素;为小数时,表示占据电脑屏幕的比例,
(startx,starty):这一坐标表示矩形窗口左上角顶点的位置,如果为空,则窗口位于屏幕中心。
'''
turtle.setup(width=0.5,height=0.75,startx=None,starty=None)

画笔

画笔默认的原点就是画布的坐标原点, 默认方向是x轴正方向.

设置画笔

#设置画笔的宽度
turtle.pensize()

#设置画笔的颜色,如无参数传入,则返回当前画笔颜色;
#参数可以是字符串"gray","blue",也可以是RGB3元祖
turtle.pencolor()

#设置画笔移动速度, 速度的取值是[0,10]范围内的整数,数越大越快.
turtle.speed(4)

画笔运动的方法

#向当前画笔方向移动distance像素长度
turtle.forward(distance)
#向当前画笔相反方向移动distance像素长度
turtle.backward(distance)
#顺时针移动degree°
turtle.right(degree)
#逆时针移动degree°
turtle.left(degree)
#移动时绘制图形,缺省时也为绘制
turtle.pendown()
#将画笔移动到坐标为x,y的位置
turtle.goto(x,y)
#提起笔移动,不绘制图形,用于另起一个地方绘制
turtle.penup()
#画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆
turtle.circle()
#将当前x轴移动到指定位置
setx( )
#将当前y轴移动到指定位置
sety( )
#设置当前朝向为angle角度
setheading(angle)
#设置当前画笔位置为原点,朝向东。
home()
#绘制一个指定直径和颜色的圆点
dot(r)

画笔控制方法

#绘制图形的填充颜色
turtle.fillcolor(colorstring)
#同时设置pencolor=color1, fillcolor=color2
turtle.color(color1, color2)
#返回当前是否在填充状态
turtle.filling()
#准备开始填充图形
turtle.begin_fill()
#填充完成
turtle.end_fill()
#隐藏画笔的turtle形状
turtle.hideturtle()
#显示画笔的turtle形状
turtle.showturtle()

其他命令

#清空turtle窗口,但是turtle的位置和状态不会改变
urtle.clear()
#清空窗口,重置turtle状态为起始状态
turtle.reset()
#撤销上一个turtle动作
turtle.undo()
#返回当前turtle是否可见
turtle.isvisible()
#复制当前图形
stamp()
#写文本,s为文本内容,font是字体的参数,分别为字体名称,大小和类型;font为可选项,font参数也是可选项
turtle.write(s [,font=("font-name",font_size,"font_type")])
#启动事件循环 -调用Tkinter的mainloop函数。必须是乌龟图形程序中的最后一个语句。
turtle.mainloop()或turtle.done()
"""
设置乌龟模式(“standard”,“logo”或“world”)并执行重置。如果没有给出模式,则返回当前模式。
模式
初始龟标题
正角度
standard
向右(东)
逆时针
logo
向上(北)
顺时针
"""
turtle.mode(mode=None)
#设置或返回以毫秒为单位的绘图延迟。
turtle.delay(delay=None)
#开始记录多边形的顶点。当前的乌龟位置是多边形的第一个顶点。
turtle.begin_poly()
#停止记录多边形的顶点。当前的乌龟位置是多边形的最后一个顶点。将与第一个顶点相连。
turtle.end_poly()
#返回最后记录的多边形。
turtle.get_poly()