使用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的Flask框架与数据库连接的教程
Apr 20 Python
Python实现模拟登录网易邮箱的方法示例
Jul 05 Python
TensorFlow Session使用的两种方法小结
Jul 30 Python
python判断字符串或者集合是否为空的实例
Jan 23 Python
Python3利用print输出带颜色的彩色字体示例代码
Apr 08 Python
python导包的几种方法(自定义包的生成以及导入详解)
Jul 15 Python
python 图像处理画一个正弦函数代码实例
Sep 10 Python
Django实现CAS+OAuth2的方法示例
Oct 30 Python
pymongo insert_many 批量插入的实例
Dec 05 Python
python爬虫线程池案例详解(梨视频短视频爬取)
Feb 20 Python
Python djanjo之csrf防跨站攻击实验过程
May 14 Python
基于python定位棋子位置及识别棋子颜色
Jul 26 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
简单的php文件上传(实例)
2013/10/27 PHP
完美的php分页类
2017/10/24 PHP
php+js实现裁剪任意形状图片
2018/10/31 PHP
jqPlot 基于jquery的画图插件
2011/04/26 Javascript
jQuery如何将选中的对象转化为原始的DOM对象
2014/06/09 Javascript
JavaScript返回上一页的三种方法及区别介绍
2015/07/04 Javascript
jQuery实现带滑动条的菜单效果代码
2015/08/26 Javascript
基于jquery实现一个滚动的分步注册向导-附源码
2015/08/26 Javascript
基于Vuejs实现购物车功能
2016/08/02 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图和饼图的组合图效果示例【附demo源码下载】
2017/03/09 Javascript
JS控件bootstrap suggest plugin使用方法详解
2017/03/25 Javascript
nodejs实现范围请求的实现代码
2018/10/12 NodeJs
vue瀑布流组件实现上拉加载更多
2020/03/10 Javascript
[01:04]DOTA2上海特锦赛现场采访 FreeAgain遭众解说围攻
2016/03/25 DOTA
[42:06]2019国际邀请赛全明星赛 8.23
2019/09/05 DOTA
让python在hadoop上跑起来
2016/01/27 Python
Python 类与元类的深度挖掘 I【经验】
2016/05/06 Python
python实现将excel文件转化成CSV格式
2018/03/22 Python
python的格式化输出(format,%)实例详解
2018/06/01 Python
python pandas修改列属性的方法详解
2018/06/09 Python
python3爬虫获取html内容及各属性值的方法
2018/12/17 Python
Python画图实现同一结点多个柱状图的示例
2019/07/07 Python
阿迪达斯芬兰官方网站:adidas芬兰
2017/01/30 全球购物
什么是静态路由?什么是动态路由?各自的特点是什么?
2015/09/16 面试题
QA工程师岗位职责
2013/11/20 职场文书
医大实习自我鉴定
2013/12/07 职场文书
施工资料员的岗位职责
2013/12/22 职场文书
医务人员自我评价
2014/01/26 职场文书
DIY手工制作经营店创业计划书
2014/02/01 职场文书
爱国卫生月实施方案
2014/02/21 职场文书
幼儿园大班毕业教师寄语
2014/04/03 职场文书
稽核岗位职责
2015/02/10 职场文书
2015政治思想表现评语
2015/03/25 职场文书
公司车队管理制度
2015/08/04 职场文书
vue3语法糖内的defineProps及defineEmits
2022/04/14 Vue.js
python实现学员管理系统(面向对象版)
2022/06/05 Python