You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
import turtle as t
|
|
|
|
|
t.pensize(4)
|
|
|
|
|
t.colormode(255)
|
|
|
|
|
# 使用RGB颜色模式
|
|
|
|
|
t.color((255, 155, 192), "pink")
|
|
|
|
|
t.setup(840, 500)
|
|
|
|
|
# 设置主窗口的大小为840*500
|
|
|
|
|
t.speed(5)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 鼻子
|
|
|
|
|
t.pu()
|
|
|
|
|
t.goto(-100, 100)
|
|
|
|
|
t.pd()
|
|
|
|
|
t.seth(-30)
|
|
|
|
|
t.begin_fill()
|
|
|
|
|
# 鼻子部分
|
|
|
|
|
a = 0.4
|
|
|
|
|
for i in range(120):
|
|
|
|
|
if 0 <= i < 30 or 60 <= i < 90:
|
|
|
|
|
a = a + 0.08
|
|
|
|
|
t.lt(3) # 向左转3度
|
|
|
|
|
t.fd(a) # 向前走a的步长
|
|
|
|
|
else:
|
|
|
|
|
a = a - 0.08
|
|
|
|
|
t.lt(3)
|
|
|
|
|
t.fd(a)
|
|
|
|
|
t.end_fill()
|
|
|
|
|
t.pu()
|
|
|
|
|
t.seth(90)
|
|
|
|
|
t.fd(25)
|
|
|
|
|
t.seth(0)
|
|
|
|
|
t.fd(10)
|
|
|
|
|
t.pd()
|
|
|
|
|
# 鼻子孔
|
|
|
|
|
t.pencolor(255, 155, 192)
|
|
|
|
|
t.seth(10)
|
|
|
|
|
t.begin_fill()
|
|
|
|
|
t.circle(5)
|
|
|
|
|
t.color(160, 82, 45)
|
|
|
|
|
t.end_fill()
|
|
|
|
|
t.pu()
|
|
|
|
|
t.seth(0)
|
|
|
|
|
t.fd(20)
|
|
|
|
|
t.pd()
|
|
|
|
|
t.pencolor(255, 155, 192)
|
|
|
|
|
t.seth(10)
|
|
|
|
|
t.begin_fill()
|
|
|
|
|
t.circle(5)
|
|
|
|
|
t.color(160, 82, 45)
|
|
|
|
|
t.end_fill()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 头
|
|
|
|
|
t.color((255, 155, 192), "pink")
|
|
|
|
|
t.pu()# 提笔
|
|
|
|
|
t.seth(90)# 改变方向九十度向上
|
|
|
|
|
t.fd(41)#从坐标远点向前41格
|
|
|
|
|
t.seth(0)#海龟方向改为向左
|
|
|
|
|
t.fd(0)#不动
|
|
|
|
|
t.pd()#下笔
|
|
|
|
|
t.begin_fill()#开始填充
|
|
|
|
|
t.seth(180)#改变方向向左
|
|
|
|
|
t.circle(300, -30)
|
|
|
|
|
# 顺时针画一个半径为300,圆心角30度的圆,
|
|
|
|
|
# 300为正数则圆心在原方向的左边,即下边,
|
|
|
|
|
# -30为负,与原方向相反开始画图
|
|
|
|
|
t.circle(100, -60)
|
|
|
|
|
t.circle(80, -100)
|
|
|
|
|
t.circle(150, -20)
|
|
|
|
|
t.circle(60, -95)
|
|
|
|
|
# 脑袋大半个圆
|
|
|
|
|
t.seth(161)#海龟方向转为161度
|
|
|
|
|
t.circle(-300, 15)
|
|
|
|
|
# 重合鼻子线条
|
|
|
|
|
t.pu()
|
|
|
|
|
t.goto(-100, 100)
|
|
|
|
|
t.pd()
|
|
|
|
|
t.seth(-30)
|
|
|
|
|
a = 0.4
|
|
|
|
|
for i in range(60):
|
|
|
|
|
if 0 <= i < 30:
|
|
|
|
|
a = a + 0.08
|
|
|
|
|
t.lt(3) # 向左转3度
|
|
|
|
|
t.fd(a) # 向前走a的步长
|
|
|
|
|
else:
|
|
|
|
|
a = a - 0.08
|
|
|
|
|
t.lt(3)
|
|
|
|
|
t.fd(a)
|
|
|
|
|
t.end_fill()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 耳朵
|
|
|
|
|
t.color((255, 155, 192), "pink")
|
|
|
|
|
t.pu()
|
|
|
|
|
t.seth(90)
|
|
|
|
|
t.fd(-7)
|
|
|
|
|
t.seth(0)
|
|
|
|
|
t.fd(70)
|
|
|
|
|
t.pd()
|
|
|
|
|
t.begin_fill()
|
|
|
|
|
t.seth(100)
|
|
|
|
|
# 左耳
|
|
|
|
|
t.circle(-50, 50)
|
|
|
|
|
t.circle(-10, 120)
|
|
|
|
|
t.circle(-50, 54)
|
|
|
|
|
t.end_fill()
|
|
|
|
|
t.pu()
|
|
|
|
|
t.seth(90)
|
|
|
|
|
t.fd(-12)
|
|
|
|
|
t.seth(0)
|
|
|
|
|
t.fd(30)
|
|
|
|
|
t.pd()
|
|
|
|
|
t.begin_fill()
|
|
|
|
|
t.seth(100)
|
|
|
|
|
# 右耳
|
|
|
|
|
t.circle(-50, 50)
|
|
|
|
|
t.circle(-10, 120)
|
|
|
|
|
t.circle(-50, 56)
|
|
|
|
|
t.end_fill()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 眼睛
|
|
|
|
|
t.color((255, 155, 192), "white")
|
|
|
|
|
t.pu()
|
|
|
|
|
t.seth(90)
|
|
|
|
|
t.fd(-20)
|
|
|
|
|
t.seth(0)
|
|
|
|
|
t.fd(-95)
|
|
|
|
|
t.pd()
|
|
|
|
|
t.begin_fill()
|
|
|
|
|
# 眼睛外圈
|
|
|
|
|
t.circle(15)
|
|
|
|
|
t.end_fill()
|
|
|
|
|
t.color("black")
|
|
|
|
|
#眼珠
|
|
|
|
|
t.pu()
|
|
|
|
|
t.seth(90)
|
|
|
|
|
t.fd(12)
|
|
|
|
|
t.seth(0)
|
|
|
|
|
t.fd(-3)
|
|
|
|
|
t.pd()
|
|
|
|
|
t.begin_fill()
|
|
|
|
|
t.circle(3)
|
|
|
|
|
t.end_fill()
|
|
|
|
|
t.color((255, 155, 192), "white")
|
|
|
|
|
#重复上面画右眼
|
|
|
|
|
t.pu()
|
|
|
|
|
t.seth(90)
|
|
|
|
|
t.fd(-25)
|
|
|
|
|
t.seth(0)
|
|
|
|
|
t.fd(40)
|
|
|
|
|
t.pd()
|
|
|
|
|
t.begin_fill()
|
|
|
|
|
t.circle(15)
|
|
|
|
|
t.end_fill()
|
|
|
|
|
t.color("black")
|
|
|
|
|
t.pu()
|
|
|
|
|
t.seth(90)
|
|
|
|
|
t.fd(12)
|
|
|
|
|
t.seth(0)
|
|
|
|
|
t.fd(-3)
|
|
|
|
|
t.pd()
|
|
|
|
|
t.begin_fill()
|
|
|
|
|
t.circle(3)
|
|
|
|
|
t.end_fill()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 腮
|
|
|
|
|
t.color((255, 155, 192))
|
|
|
|
|
t.pu()
|
|
|
|
|
t.seth(90)
|
|
|
|
|
t.fd(-95)
|
|
|
|
|
t.seth(0)
|
|
|
|
|
t.fd(65)
|
|
|
|
|
t.pd()
|
|
|
|
|
t.begin_fill()
|
|
|
|
|
t.circle(30)
|
|
|
|
|
t.end_fill()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 嘴 自左往右
|
|
|
|
|
t.color(239, 69, 19)
|
|
|
|
|
t.pu()
|
|
|
|
|
t.seth(90)
|
|
|
|
|
t.fd(15)
|
|
|
|
|
t.seth(0)
|
|
|
|
|
t.fd(-100)
|
|
|
|
|
t.pd()
|
|
|
|
|
t.seth(-80)
|
|
|
|
|
t.circle(30, 40)
|
|
|
|
|
t.circle(40, 80)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 身体
|
|
|
|
|
t.color("red", (255, 99, 71))
|
|
|
|
|
t.pu()
|
|
|
|
|
t.seth(90)
|
|
|
|
|
t.fd(-20)
|
|
|
|
|
t.seth(0)
|
|
|
|
|
t.fd(-78)
|
|
|
|
|
t.pd()
|
|
|
|
|
t.begin_fill()
|
|
|
|
|
t.seth(-130)
|
|
|
|
|
t.circle(100, 10)
|
|
|
|
|
t.circle(300, 30)
|
|
|
|
|
# 身体左半部分
|
|
|
|
|
t.seth(0)
|
|
|
|
|
t.fd(230)
|
|
|
|
|
# 前进
|
|
|
|
|
t.seth(90)
|
|
|
|
|
t.circle(300, 30)
|
|
|
|
|
t.circle(100, 3)
|
|
|
|
|
# 右半部分圆
|
|
|
|
|
t.color((255, 155, 192), (255, 100, 100))
|
|
|
|
|
t.seth(-135)
|
|
|
|
|
# 领子圆
|
|
|
|
|
t.circle(-80, 63)
|
|
|
|
|
t.circle(-150, 24)
|
|
|
|
|
t.end_fill()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 手
|
|
|
|
|
t.color((255, 155, 192))
|
|
|
|
|
t.pu()
|
|
|
|
|
t.seth(90)
|
|
|
|
|
t.fd(-40)
|
|
|
|
|
t.seth(0)
|
|
|
|
|
t.fd(-27)
|
|
|
|
|
t.pd()
|
|
|
|
|
# 左手
|
|
|
|
|
t.seth(-160)
|
|
|
|
|
t.circle(300, 15)
|
|
|
|
|
t.pu()
|
|
|
|
|
t.seth(90)
|
|
|
|
|
t.fd(15)
|
|
|
|
|
t.seth(0)
|
|
|
|
|
t.fd(0)
|
|
|
|
|
t.pd()
|
|
|
|
|
t.seth(-10)
|
|
|
|
|
t.circle(-20, 90)
|
|
|
|
|
t.pu()
|
|
|
|
|
t.seth(90)
|
|
|
|
|
t.fd(30)
|
|
|
|
|
t.seth(0)
|
|
|
|
|
t.fd(237)
|
|
|
|
|
t.pd()
|
|
|
|
|
# 右手
|
|
|
|
|
t.seth(-20)
|
|
|
|
|
t.circle(-300, 15)
|
|
|
|
|
t.pu()
|
|
|
|
|
t.seth(90)
|
|
|
|
|
t.fd(20)
|
|
|
|
|
t.seth(0)
|
|
|
|
|
t.fd(0)
|
|
|
|
|
t.pd()
|
|
|
|
|
t.seth(-170)
|
|
|
|
|
t.circle(20, 90)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 脚
|
|
|
|
|
t.pensize(10)
|
|
|
|
|
t.color((240, 128, 128))
|
|
|
|
|
t.pu()
|
|
|
|
|
t.seth(90)
|
|
|
|
|
t.fd(-75)
|
|
|
|
|
t.seth(0)
|
|
|
|
|
#左脚
|
|
|
|
|
t.fd(-180)
|
|
|
|
|
t.pd()
|
|
|
|
|
t.seth(-90)
|
|
|
|
|
t.fd(40)
|
|
|
|
|
#左脚鞋子
|
|
|
|
|
t.seth(-180)
|
|
|
|
|
t.color("black")
|
|
|
|
|
t.pensize(15)
|
|
|
|
|
t.fd(20)
|
|
|
|
|
#同上,右脚和鞋子
|
|
|
|
|
t.pensize(10)
|
|
|
|
|
t.color((240, 128, 128))
|
|
|
|
|
t.pu()
|
|
|
|
|
t.seth(90)
|
|
|
|
|
t.fd(40)
|
|
|
|
|
t.seth(0)
|
|
|
|
|
t.fd(90)
|
|
|
|
|
t.pd()
|
|
|
|
|
t.seth(-90)
|
|
|
|
|
t.fd(40)
|
|
|
|
|
t.seth(-180)
|
|
|
|
|
t.color("black")
|
|
|
|
|
t.pensize(15)
|
|
|
|
|
t.fd(20)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 尾巴
|
|
|
|
|
t.pensize(4)
|
|
|
|
|
t.color((255, 155, 192))
|
|
|
|
|
t.pu()
|
|
|
|
|
t.seth(90)
|
|
|
|
|
t.fd(70)
|
|
|
|
|
t.seth(0)
|
|
|
|
|
t.fd(95)
|
|
|
|
|
t.pd()
|
|
|
|
|
t.seth(0)
|
|
|
|
|
t.circle(70, 20)
|
|
|
|
|
t.circle(10, 330)
|
|
|
|
|
t.circle(70, 30)
|
|
|
|
|
t.done()
|