turtle-海龟绘图

内置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() #点击后图片才会关闭

实现如图:
在这里插入图片描述

有点恐怖

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值