海龟作图

350 阅读1分钟

海龟作图实例

常用语法

常用命令说明
pen=turtle.Pen()获取笔
pen.forward/backward(100)向前/后走(100像素长度)
pen.left/right(90)向左/右转(90角度)
pen.circle(10)画圆(10像素半径)
画笔属性说明
pen.speed(5)画笔速度(1-10)0最高
pen.pencolor(‘red’)画笔颜色(颜色)
pen.pensize(5)画笔粗细
画笔动作说明
pen.penup()画笔抬起,不会作画
pen.pendown()画笔落下,开始作画
pen.goto(x,y)将画笔移动到(x,y)
颜色填充说明
pen.begin_fill()开始填充
pen.fillcolor(‘red’)填充颜色
pen.end_fill()结束填充
pen.color(color1,color2)同时设置笔的颜色,填充颜色
画笔状态说明
turtle.hideturtle()隐藏海龟
turtle.showturtle()海龟可见
动画控制说明
turtle.delay(5)绘画延迟5毫秒
turtle.tracer(5,10)执行第5个画面更新,绘画延迟10ms

实例

一、“8”字

 import turtle
 pen = turtle.Pen()
 ​
 pen.pensize(2)
 pen.speed(1)
 ​
 pen.forward(100)
 ​
 pen.goto(0, 0)
 pen.pencolor('red')
 pen.circle(100)
 ​
 pen.left(180)
 pen.begin_fill()
 pen.color('green', 'green')
 pen.circle(100)
 pen.end_fill()
 ​
 turtle.done()

1644422567848.png

二、奥运五环

 import turtle
 pen=turtle.Pen()
 pen.speed(10)
 pen.pencolor('blue')
 pen.pensize(5)
 pen.circle(50)
 pen.penup()
 pen.forward(80)
 pen.pendown()
 pen.pencolor('black')
 pen.circle(50)
 pen.penup()
 pen.forward(80)
 pen.pendown()
 pen.pencolor('red')
 pen.circle(50)
 pen.penup()
 pen.left(90)
 pen.forward(50)
 pen.left(90)
 pen.forward(50)
 pen.pendown()
 pen.pencolor('green')
 pen.circle(50)
 pen.penup()
 pen.forward(80)
 pen.pendown()
 pen.pencolor('yellow')
 pen.circle(50)
 turtle.done()

1644422432580.png

三、螺旋图

 import turtle
 pen = turtle.Pen()
 pen.speed(0)
 turtle.bgcolor('black')
 color = ['red','yellow','blue','green','white']
 ​
 turtle.tracer(5)
 for x in range(200):
     pen.pencolor(color[x % 5])
     pen.forward(x)
     pen.left(73)
 ​
 for x in range(200, 400):
     pen.pencolor(color[x % 5])
     pen.forward(x)
     pen.left(71)
 ​
 # 隐藏海龟
 pen.hideturtle()
 ​
 turtle.mainloop()

屏幕截图 2022-02-09 235039.png

注意

  • 隐藏海龟本身
 turtle.hideturtle()
  • 设置刷新率
 turtle.tracer(n, delay)

这两个无法同时设置,不然无法隐藏海龟本身

参考文献

turtle — Turtle Graphics — Python 3.10.2 文档

CSDN编程社区 (smartapps.cn)