【Python】双十一,就用turtle画个单身狗送给自己

「@Author:Runsen」

今年的双十一到了

但还有谁记得双十一是 单身狗的节日单身狗的我是时候站出来

捍卫自己的权益了

单身是一种怎样的状态?

我们所有人都单身过,

但也许只有很少的人真正体验过。

短视频内容完全是假的,全程是一个人的操作,

你必须拥有一台好的手机、一个好的文案想法。

Turtle

Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一只小乌龟,在一个横轴为x、纵轴为y的坐标系内,从原点(0,0)位置开始,它根据一组函数指令,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。

Turtle函数

操纵海龟绘图有着许多的函数,这些函数可以划分为3种:一种为画笔控制函数,一种为运动控制函数,还有一种是方向控制函数。

画笔控制函数

函数名作用
turtle.penup()抬起画笔,不绘画
turtle.pendown()落下画笔,开始绘画,前两者成对出现
turtle.pencolor()绘画颜色
turtle.pensize()画笔粗细

运动控制函数

函数名作用
turtle.forward(d)向前行进,走直线,d可以为负值
turtle.circle(r,extent=None)以r为半径绘制extent角度的弧形,extent可缺省,默认绘制整圆。r为正,即在前进方向的左侧绘制,为负,即在右侧绘制。

方向控制函数

函数名作用
turtle.setheading(angle)改变行进方向,但不行进,为绝对角度
turtle.left(angel)海龟向左转,angel在海龟当前行进方向上旋转的角度
turtle.right(angel)海龟向右转,angel在海龟当前行进方向上旋转的角度

绘画单身狗

import turtle as t
t.screensize(500, 500)
# 【头部轮廓】
t.pensize(5)
t.home()
t.seth(0)
t.pd()  #pendown
t.color('black')
t.circle(20, 80)  # 0
t.circle(200, 30)  # 1
t.circle(30, 60)  # 2
t.circle(200, 29.5)  # 3
t.color('black')
t.circle(20, 60)  # 4
t.circle(-150, 22)  # 5
t.circle(-50, 10)  # 6
t.circle(50, 70)  # 7
# 确定鼻头大概位置 t.xcor和t.ycor乌龟一开始的位置
x_nose = t.xcor()
y_nose = t.ycor()
t.circle(30, 62)  # 8
t.circle(200, 15)  # 9
# 【鼻子】
t.pu() #penup
t.goto(x_nose, y_nose + 25)
t.seth(90)
t.pd()
t.begin_fill()
t.circle(8)
t.end_fill()
# 【眼睛】
t.pu()
t.goto(x_nose + 48, y_nose + 55)
t.seth(90)
t.pd()
t.begin_fill()
t.circle(8)
t.end_fill()
# 【耳朵】
t.pu()
t.color('#444444')
t.goto(x_nose + 100, y_nose + 110)
t.seth(182)
t.pd()
t.circle(15, 45) 
t.color('black')
t.circle(10, 15)  
t.circle(90, 70)  
t.circle(25, 110)  
t.rt(4)
t.circle(90, 70)  
t.circle(10, 15)  
t.color('#444444')
t.circle(15, 45) 
# 【身体】
t.pu()
t.color('black')
t.goto(x_nose + 90, y_nose - 30)
t.seth(-130)
t.pd()
t.circle(250, 28)  
t.circle(10, 140)  
t.circle(-250, 25)  
t.circle(-200, 25)  
t.circle(-50, 85)  
t.circle(8, 145)  
t.circle(90, 45)
t.circle(550, 5)  
# 【尾巴】
t.seth(0)
t.circle(60, 85) 
t.circle(40, 65) 
t.circle(40, 60)  
t.lt(150)  #left
t.circle(-40, 90)  
t.circle(-25, 100)  
t.lt(5)
t.fd(20)
t.circle(10, 60)  
# 【背部】
t.rt(80)  #right
t.circle(200, 35)
# 【项圈】
t.pensize(20)
t.color('#F03C3F')
t.lt(10)
t.circle(-200, 25)  
# 【爱心铃铛】
t.pu()
t.fd(18)
t.lt(90)
t.fd(18)
t.pensize(6)
t.seth(35)  #setheading
t.color('#FDAF17')
t.begin_fill()
t.lt(135)
t.fd(6)
t.right(180)  # 画笔掉头
t.circle(6, -180)
t.backward(8)
t.right(90)
t.forward(6)
t.circle(-6, 180)
t.fd(15)
t.end_fill()
# 【前小腿】
t.pensize(5)
t.pu()
t.color('black')
t.goto(x_nose + 100, y_nose - 125)
t.pd()
t.seth(-50)
t.fd(25)
t.circle(10, 150)
t.fd(25)
# 【后小腿】
t.pensize(4)
t.pu()
t.goto(x_nose + 314, y_nose - 125)
t.pd()
t.seth(-95)
t.fd(25)
t.circle(-5, 150)
t.fd(2)
t.hideturtle()
t.done()

得到的结果如下:

本文已收录 GitHub,传送门~[1] ,里面更有大厂面试完整考点,欢迎 Star。



Reference

[1]

传送门~: https://github.com/MaoliRUNsen/runsenlearnpy100


往期精彩回顾



适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载机器学习的数学基础专辑
获取一折本站知识星球优惠券,复制链接直接打开:
https://t.zsxq.com/y7uvZF6
本站qq群704220115。

加入微信群请扫码:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值