Python中的Turtle绘图编程
Turtle 是Python的一项特殊功能。使用Turtle,我们可以轻松地在一块画板上绘制图形。
首先,我们导入turtle模块。然后创建一个窗口,创建一个 turtle 对象,并使用turtle()方法在画板上进行绘制。
一些龟绘图方法
方法 | 参数 | 描述 |
---|---|---|
Turtle() | None | 创建并返回一个新的turtle对象 |
forward() | amount | 向前移动指定的距离 |
backward() | amount | 向后移动指定的距离 |
right() | angle | 顺时针旋转turtle |
left() | angle | 逆时针旋转turtle |
penup() | None | 抬起turtle的笔 |
pendown() | 无 | 将乌龟的画笔放下 |
up() | 无 | 抬起乌龟的画笔 |
down() | 无 | 将乌龟的画笔放下 |
color() | 颜色名称 | 改变乌龟画笔的颜色 |
fillcolor() | 颜色名称 | 改变乌龟用来填充多边形的颜色 |
heading() | 无 | 返回当前角度 |
position() | 无 | 返回当前位置 |
goto() | x, y | 它将海龟移动到位置x,y |
begin_fill() | 无 | 记住填充多边形的起始点 |
end_fill() | 无 | 它关闭多边形并用当前填充颜色填充 |
dot() | 无 | 将点留在当前位置 |
stamp() | 无 | 在当前位置留下龟形的印记 |
shape() | 形状名 | 应该是’arrow’、’classic’、’turtle’或’circle’ |
示例代码
# import turtle library
import turtle
my_window = turtle.Screen()
my_window.bgcolor("blue") # creates a graphics window
my_pen = turtle.Turtle()
my_pen.forward(150)
my_pen.left(90)
my_pen.forward(75)
my_pen.color("white")
my_pen.pensize(12)
输出
画一个正方形
示例代码
# import turtle library
import turtle
my_pen = turtle.Turtle()
for i in range(4):
my_pen.forward(50)
my_pen.right(90)
turtle.done()
输出
画一个星星
示例代码
# import turtle library
import turtle
my_pen = turtle.Turtle()
for i in range(50):
my_pen.forward(50)
my_pen.right(144)
turtle.done()
输出
画一个六边形
示例代码
# import turtle library
import turtle
polygon = turtle.Turtle()
my_num_sides = 6
my_side_length = 70
my_angle = 360.0 / my_num_sides
for i in range(my_num_sides):
polygon.forward(my_side_length)
polygon.right(my_angle)
turtle.done()
输出
在一个正方形盒子内画一个内部正方形。
示例代码
# import turtle library
import turtle
my_wn = turtle.Screen()
my_wn.bgcolor("light blue")
my_wn.title("Turtle")
my_pen = turtle.Turtle()
my_pen.color("black")
def my_sqrfunc(size):
for i in range(4):
my_pen.fd(size)
my_pen.left(90)
size = size - 5
my_sqrfunc(146)
my_sqrfunc(126)
my_sqrfunc(106)
my_sqrfunc(86)
my_sqrfunc(66)
my_sqrfunc(46)
my_sqrfunc(26)
输出
另一种图案的绘制
示例代码
# import turtle library
import turtle
my_wn = turtle.Screen()
turtle.speed(2)
for i in range(30):
turtle.circle(5*i)
turtle.circle(-5*i)
turtle.left(i)
turtle.exitonclick()
输出
绘制另一个图案
示例代码
# import turtle library
import turtle
colors = [ "red","purple","blue","green","orange","yellow"]
my_pen = turtle.Pen()
turtle.bgcolor("black")
for x in range(360):
my_pen.pencolor(colors[x % 6])
my_pen.width(x/100 + 1)
my_pen.forward(x)
my_pen.left(59)