background(背景)
1966年 Seymour Papert 和Wally Feurzig 开发了一种供儿童学习的编程语言,—LOGO语言,后来被移植到各种高级语言中。
references(参考材料)
廖雪峰:https://www.liaoxuefeng.com/wiki/1016959663602400/1249593505347328
turtle官网:https://docs.python.org/3.3/library/turtle.html#turtle.title
case
- 不规则图形
- 五角星
- 爱心
- 使用turtle绘制不规则图形
import turtle
import time
t = turtle.Pen()
for i in range(6):
t.color('red', '#fff')
t.forward(100)
t.right(60)
time.sleep(.25)
if abs(t.pos()) < 1:
break
turtle.done()
- 换一种写法
# 导入 turtle 模块
from turtle import *
# 导入time模块
import time
# 开始绘制
begin_fill()
while True:
# 绘制痕迹color和 tutle color
color("red", "#fff")
# 直行 100
forward(100)
# 向右转 60°
right(60)
# 绘制一行结束休息 .25s
time.sleep(.25)
if abs(pos()) < 1:
break
# 绘制结束
end_fill()
# 绘制结束 防止窗口关闭
done()
结果
2. 绘制五角星
# 导入turtle
from turtle import *
# 导入时间模块
import time
# 速度
speed(2)
# 填充颜色
fillcolor("red")
# 画笔宽度
pensize(1)
# 画笔颜色
pencolor("red")
# 开始绘制
begin_fill()
# 循环5次
for i in range(5):
# 前进400
forward(400)
# 向右转144°
right(144)
# 让海龟休息.25s
time.sleep(.25)
# 结束绘制
end_fill()
# 停止绘制
done()
结果
3. 爱心
# 导入 turtle
import turtle as t
# 画笔速度
t.speed(5)
# 屏幕宽度
t.setup(1000, 800)
# 画笔宽度
t.pensize(4)
# 画笔颜色
t.pencolor("red")
# 填充颜色
t.fillcolor("red")
# 隐藏画笔
t.hideturtle()
# 开始绘制
t.begin_fill()
# 向左 45° 开始绘制
t.left(45)
# 前进80
t.forward(80)
# 绘制宽高 35 210 圆形
t.circle(35, 210)
# 向右前方开始绘制
t.right(148)
# 绘制宽高 35 210 圆形
t.circle(35, 210)
# 前进80
t.forward(80)
# 结束绘制
t.end_fill()
# 结束
t.done()
结果
4. other
from turtle import *
color('red', 'yellow')
# 开始填充
begin_fill()
while True:
forward(200)
left(130)
if abs(pos()) < 1:
break
end_fill()
done()
from turtle import *
# 颜色填充
color('red', 'yellow')
# 开始填充
begin_fill()
# 画笔速度
speed(10)
# 隐藏画笔
hideturtle()
while True:
forward(200)
left(170)
if abs(pos()) < 1:
break
end_fill()
done()
5. 三角形
和上面的 other 区别就是一行 left(120)代码
from turtle import *
# 颜色填充
color('red', 'yellow')
# 开始填充
begin_fill()
# 画笔速度
speed(10)
# 隐藏画笔
hideturtle()
while True:
forward(200)
left(120)
if abs(pos()) < 1:
break
end_fill()
done()