内置turtle库学习笔记
Python官方文档turtle-海龟绘图
尝试画海绵宝宝画了一小部分,涂色不太会调,会颜色溢出,但是大部分方法在这段代码都已经用上了
import turtle
turtle.title("hai mian bao bao")
turtle.speed("fastest")
turtle.bgcolor("grey")
turtle.shape("turtle")
turtle.penup()
turtle.stamp()
# turtle.hideturtle()
def re_set_position(x,y): #重置位置函数
turtle.penup()
turtle.goto(x,y)
turtle.pendown()
def up_draw():
while(turtle.xcor()<=100):
turtle.setheading(0)
turtle.right(15)
turtle.forward(15)
turtle.left(15)
turtle.forward(3)
turtle.left(15)
turtle.forward(15)
def right_draw():
while(turtle.ycor()>=-100):
turtle.setheading(265)
turtle.right(15)
turtle.forward(15)
turtle.left(15)
turtle.forward(3)
turtle.left(15)
turtle.forward(15)
def down_draw():
while(turtle.xcor()>=-50):
turtle.setheading(180)
turtle.right(15)
turtle.forward(15)
turtle.left(15)
turtle.forward(4)
turtle.left(15)
turtle.forward(15)
turtle.setheading(180)
turtle.right(15)
turtle.forward(15)
def left_draw():
while (turtle.ycor() <= 60):
turtle.setheading(95)
turtle.right(15)
turtle.forward(15)
turtle.left(15)
turtle.forward(4)
turtle.left(15)
turtle.forward(15)
turtle.setheading(95)
turtle.right(15)
turtle.forward(10)
turtle.goto(-100,100)
def body_draw():
#turtle.fillcolor("#ecec03")
turtle.penup()
turtle.goto(-100, 100)
turtle.pendown()
turtle.pensize(4)
turtle.color("#787815","#ecec03")
turtle.begin_fill()
up_draw()
right_draw()
down_draw()
left_draw()
turtle.end_fill()
def eye_draw():
turtle.pensize(1)
turtle.color("#4d4d41","#f8f4f4")
turtle.begin_fill()
re_set_position(25,50)
turtle.circle(40,extent=360,steps=500)
re_set_position(-40, 62)
turtle.setheading(180)
turtle.circle(40, extent=360, steps=500)
turtle.end_fill()
def mouth_draw():
# 牙齿
turtle.fillcolor("white")
turtle.begin_fill()
turtle.pensize(3)
re_set_position(10, -60)
turtle.setheading(275)
turtle.forward(30)
turtle.left(90)
turtle.forward(30)
turtle.left(90)
turtle.forward(35)
turtle.pensize(0.1)
turtle.goto(10, -60)
turtle.pensize(3)
re_set_position(-10, -60)
turtle.setheading(265)
turtle.forward(30)
turtle.right(90)
turtle.forward(30)
turtle.right(90)
turtle.forward(35)
turtle.pensize(0.1)
turtle.goto(-10, -60)
turtle.end_fill()
#嘴
extent_1 = 0 #右半边嘴的初始朝向东
extent_2 = 180 #左半边嘴的初始朝向东
re_set_position(0,-60) #绘画起始点
turtle.pensize(3)
turtle.pencolor("#33332a")
for i in range(5): #右半边嘴绘画
turtle.setheading(extent_1)
extent_1 +=8
turtle.circle(80,extent=13,steps=30)
turtle.setheading(turtle.heading()+90) #嘴角
turtle.forward(10)
turtle.backward(20)
re_set_position(0,-60)
for i in range(4):
turtle.setheading(extent_2)
extent_2 -=8
turtle.circle(-80,extent=13,steps=30)
turtle.setheading(turtle.heading() + 90)
turtle.forward(10)
turtle.backward(20)
body_draw()
mouth_draw()
eye_draw()
turtle.exitonclick() #点击后图片才会关闭
实现如图:
有点恐怖