使用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 21 Python
详解python如何调用C/C++底层库与互相传值
Aug 10 Python
Python实现八大排序算法
Aug 13 Python
python交互式图形编程实例(二)
Nov 17 Python
Python中使用支持向量机SVM实践
Dec 27 Python
python实现多线程网页下载器
Apr 15 Python
django加载本地html的方法
May 27 Python
python 不同方式读取文件速度不同的实例
Nov 09 Python
Python之lambda匿名函数及map和filter的用法
Mar 05 Python
python3实现的zip格式压缩文件夹操作示例
Aug 17 Python
python实现把二维列表变为一维列表的方法分析
Oct 08 Python
利用python绘制正态分布曲线
Jan 04 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
缅甸的咖啡简史
2021/03/04 咖啡文化
SCP远程VPS快速搬家和WDCP升级php5.3安装memcached和eaccelerator教程
2017/07/27 PHP
JavaScript 组件之旅(三):用 Ant 构建组件
2009/10/28 Javascript
jQuery中dequeue()方法用法实例
2014/12/29 Javascript
js图片模糊切换显示特效的方法
2015/02/17 Javascript
JavaScript使用Math.Min返回两个数中较小数的方法
2015/04/06 Javascript
AngularJs expression详解及简单示例
2016/09/01 Javascript
js 中文汉字转Unicode、Unicode转中文汉字、ASCII转换Unicode、Unicode转换ASCII、中文转换
2016/12/06 Javascript
jquery.form.js异步提交表单详解
2017/04/25 jQuery
AngularJS 异步解决实现方法
2017/06/12 Javascript
javascript input输入框模糊提示功能的实现
2017/09/25 Javascript
vue的token刷新处理的方法
2018/07/17 Javascript
原生javascript运动函数的封装示例【匀速、抛物线、多属性的运动等】
2020/02/23 Javascript
python 数据加密代码
2008/12/24 Python
Python中int()函数的用法浅析
2017/10/17 Python
python3 requests中使用ip代理池随机生成ip的实例
2018/05/07 Python
python 创建一个空dataframe 然后添加行数据的实例
2018/06/07 Python
python使用Turtle库绘制动态钟表
2018/11/19 Python
pygame实现俄罗斯方块游戏(AI篇2)
2019/10/29 Python
python 实现保存最新的三份文件,其余的都删掉
2019/12/22 Python
python3从网络摄像机解析mjpeg http流的示例
2020/11/13 Python
鼠标滚轮事件和Mac触控板双指事件
2019/12/23 HTML / CSS
美国一家主打母婴用品的团购网站:zulily
2017/09/19 全球购物
印尼披萨外送专家:Domino’s Pizza印尼
2017/12/28 全球购物
PREMIUM-MALL法国:行李、箱包及配件在线
2019/05/30 全球购物
WSDL的操作类型主要有几种
2013/07/19 面试题
音乐表演专业毕业生求职信
2013/10/14 职场文书
协议书怎么写
2014/04/21 职场文书
学校联谊协议书
2014/09/16 职场文书
2014年干部培训工作总结
2014/12/17 职场文书
2015年化验员工作总结
2015/04/10 职场文书
2016十一国庆节慰问信
2015/12/01 职场文书
公司员工违法违章行为检讨书
2019/06/24 职场文书
Nginx优化服务之网页压缩的实现方法
2021/03/31 Servers
pandas:get_dummies()与pd.factorize()的用法及区别说明
2021/05/21 Python
详解Java线程池是如何重复利用空闲线程的
2021/06/26 Java/Android