使用Python的Turtle绘制哆啦A梦实例


Posted in Python onNovember 21, 2019

这是我几年前为了练习python的turtle库而画的,今天翻出了代码,分享给大家。

这是我初学python时画的,当时还没有面向对象的概念,也没有采取类方法之类,纯原始手工,供大家参考。

若有兴趣可以自行优化简洁代码,有时间我也会重新写一遍。

画出来的效果如下图:

使用Python的Turtle绘制哆啦A梦实例

代码如下:

# * -- utf-8 -- *
# Author: Tang
 
import turtle as t
 
t.speed(10)
t.pensize(8)
t.hideturtle()
t.screensize(500, 500, bg='white')
 
# 猫脸
t.fillcolor('#00A1E8')
t.begin_fill()
t.circle(120)
t.end_fill()
 
t.pensize(3)
t.fillcolor('white')
t.begin_fill()
t.circle(100)
t.end_fill()
 
t.pu()
t.home()
t.goto(0, 134)
t.pd()
t.pensize(4)
t.fillcolor("#EA0014")
t.begin_fill()
t.circle(18)
t.end_fill()
 
t.pu()
t.goto(7, 155)
t.pensize(2)
t.color('white', 'white')
t.pd()
t.begin_fill()
t.circle(4)
t.end_fill()
 
t.pu()
t.goto(-30, 160)
t.pensize(4)
t.pd()
t.color('black', 'white')
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.goto(30, 160)
t.pensize(4)
t.pd()
t.color('black', 'white')
t.begin_fill()
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.goto(-38,190)
t.pensize(8)
t.pd()
t.right(-30)
t.forward(15)
t.right(70)
t.forward(15)
 
t.pu()
t.goto(15, 185)
t.pensize(4)
t.pd()
t.color('black', 'black')
t.begin_fill()
t.circle(13)
t.end_fill()
 
t.pu()
t.goto(13, 190)
t.pensize(2)
t.pd()
t.color('white', 'white')
t.begin_fill()
t.circle(5)
t.end_fill()
 
t.pu()
t.home()
t.goto(0, 134)
t.pensize(4)
t.pencolor('black')
t.pd()
t.right(90)
t.forward(40)
 
t.pu()
t.home()
t.goto(0, 124)
t.pensize(3)
t.pencolor('black')
t.pd()
t.left(10)
t.forward(80)
 
t.pu()
t.home()
t.goto(0, 114)
t.pensize(3)
t.pencolor('black')
t.pd()
t.left(6)
t.forward(80)
 
t.pu()
t.home()
t.goto(0,104)
t.pensize(3)
t.pencolor('black')
t.pd()
t.left(0)
t.forward(80)
 
# 左边的胡子
t.pu()
t.home()
t.goto(0,124)
t.pensize(3)
t.pencolor('black')
t.pd()
t.left(170)
t.forward(80)
 
t.pu()
t.home()
t.goto(0, 114)
t.pensize(3)
t.pencolor('black')
t.pd()
t.left(174)
t.forward(80)
 
t.pu()
t.home()
t.goto(0, 104)
t.pensize(3)
t.pencolor('black')
t.pd()
t.left(180)
t.forward(80)
 
t.pu()
t.goto(-70, 70)
t.pd()
t.color('black', 'red')
t.pensize(6)
t.seth(-60)
t.begin_fill()
t.circle(80,40)
t.circle(80,80)
t.end_fill()
 
t.pu()
t.home()
t.goto(-80,70)
t.pd()
t.forward(160)
 
t.pu()
t.home()
t.goto(-50,50)
t.pd()
t.pensize(1)
t.fillcolor("#eb6e1a")
t.seth(40)
t.begin_fill()
t.circle(-40, 40)
t.circle(-40, 40)
t.seth(40)
t.circle(-40, 40)
t.circle(-40, 40)
t.seth(220)
t.circle(-80, 40)
t.circle(-80, 40)
t.end_fill()
 
# 领带
t.pu()
t.goto(-70, 12)
t.pensize(14)
t.pencolor('red')
t.pd()
t.seth(-20)
t.circle(200, 30)
t.circle(200, 10)
 
# 铃铛
t.pu()
t.goto(0, -46)
t.pd()
t.pensize(3)
t.color("black", '#f8d102')
t.begin_fill()
t.circle(25)
t.end_fill()
 
 
t.pu()
t.goto(-5, -40)
t.pd()
t.pensize(2)
t.color("black", '#79675d')
t.begin_fill()
t.circle(5)
t.end_fill()
 
t.pensize(3)
t.right(115)
t.forward(7)
 
t.mainloop()

以上这篇使用Python的Turtle绘制哆啦A梦实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python简单判断序列是否为空的方法
Jun 30 Python
深入理解Django的自定义过滤器
Oct 17 Python
python 列表降维的实例讲解
Jun 28 Python
Python中矩阵创建和矩阵运算方法
Aug 04 Python
Python实现拷贝/删除文件夹的方法详解
Aug 29 Python
Python应用领域和就业形势分析总结
May 14 Python
详解Python 调用C# dll库最简方法
Jun 20 Python
pybind11在Windows下的使用教程
Jul 04 Python
pandas将多个dataframe以多个sheet的形式保存到一个excel文件中
Oct 10 Python
pycharm 如何取消连按两下shift出现的全局搜索
Jan 15 Python
python 中[0]*2与0*2的区别说明
May 10 Python
python3+PyQt5+Qt Designer实现界面可视化
Jun 10 Python
Python 类的魔法属性用法实例分析
Nov 21 #Python
python画蝴蝶曲线图的实例
Nov 21 #Python
Python 静态方法和类方法实例分析
Nov 21 #Python
Python 用turtle实现用正方形画圆的例子
Nov 21 #Python
python 实现兔子生兔子示例
Nov 21 #Python
python3实现用turtle模块画一棵随机樱花树
Nov 21 #Python
用python中的matplotlib绘制方程图像代码
Nov 21 #Python
You might like
让CodeIgniter数据库缓存自动过期的处理的方法
2014/06/12 PHP
php专用数组排序类ArraySortUtil用法实例
2015/04/03 PHP
基于Codeigniter框架实现的student信息系统站点动态发布功能详解
2017/03/23 PHP
JS过滤url参数特殊字符的实现方法
2013/12/24 Javascript
javascript屏蔽右键代码
2014/05/15 Javascript
jQuery 1.9使用$.support替代$.browser的使用方法
2014/05/27 Javascript
nodejs教程之入门
2014/11/21 NodeJs
javascript结合Canvas 实现简易的圆形时钟
2015/03/11 Javascript
IE8下jQuery改变png图片透明度时出现的黑边
2015/08/30 Javascript
jquery实现顶部向右伸缩的导航区域代码
2015/09/02 Javascript
快速学习AngularJs HTTP响应拦截器
2015/12/31 Javascript
Bootstrap入门书籍之(一)排版
2016/02/17 Javascript
基于jquery实现的银行卡号每隔4位自动插入空格的实现代码
2016/11/22 Javascript
自学实现angularjs依赖注入
2016/12/20 Javascript
如何使用Bootstrap 按钮实例详解
2017/03/29 Javascript
深入浅析Vue.js中 computed和methods不同机制
2018/03/22 Javascript
vue实现选项卡及选项卡切换效果
2018/04/24 Javascript
Vue项目webpack打包部署到Tomcat刷新报404错误问题的解决方案
2018/05/15 Javascript
深入浅析Vue全局组件与局部组件的区别
2018/06/15 Javascript
Three.js中矩阵和向量的使用教程
2019/03/19 Javascript
Vue商品控件与购物车联动效果的实例代码
2019/07/21 Javascript
详解mpvue实现对苹果X安全区域的适配
2019/07/31 Javascript
JavaScript 实现HTML DOM增删改查操作的常见方法详解
2020/01/04 Javascript
总结Python编程中三条常用的技巧
2015/05/11 Python
Django学习笔记之Class-Based-View
2017/02/15 Python
通过Python实现自动填写调查问卷
2017/09/06 Python
python 去除txt文本中的空格、数字、特定字母等方法
2018/07/24 Python
PyQt5连接MySQL及QMYSQL driver not loaded错误解决
2020/04/29 Python
Python SMTP发送电子邮件的示例
2020/09/23 Python
解决Pymongo insert时会自动添加_id的问题
2020/12/05 Python
香港最大的洋酒零售连锁店:屈臣氏酒窖(Watson’s Wine)
2018/12/10 全球购物
卡骆驰英国官网:Crocs英国
2019/08/22 全球购物
初中物理教学反思
2014/01/14 职场文书
思想作风建设心得体会
2014/10/22 职场文书
入党自传范文2015
2015/06/26 职场文书
公司新员工欢迎词
2015/09/30 职场文书