使用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 中文字符串的处理实现代码
Oct 25 Python
用python登录Dr.com思路以及代码分享
Jun 25 Python
Python正则表达式匹配中文用法示例
Jan 17 Python
python实现对求解最长回文子串的动态规划算法
Jun 02 Python
浅谈python中对于json写入txt文件的编码问题
Jun 07 Python
python实现海螺图片的方法示例
May 12 Python
python之当你发现QTimer不能用时的解决方法
Jun 21 Python
python cumsum函数的具体使用
Jul 29 Python
Django1.11配合uni-app发起微信支付的实现
Oct 12 Python
关于TensorFlow新旧版本函数接口变化详解
Feb 10 Python
Python 创建TCP服务器的方法
Jul 28 Python
基于CentOS搭建Python Django环境过程解析
Aug 24 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微信开发之百度天气预报
2016/11/18 PHP
PHP abstract 抽象类定义与用法示例
2018/05/29 PHP
详解PHP神奇又有用的Trait
2019/03/25 PHP
php开发最强大的IDE编辑的phpstorm 2020.2配置Xdebug调试的详细教程
2020/08/17 PHP
JS this作用域以及GET传输值过长的问题解决方法
2013/08/06 Javascript
js为数字添加逗号并格式化数字的代码
2013/08/23 Javascript
js实现顶部可折叠的菜单工具栏效果实例
2015/05/09 Javascript
jQuery实现的跨容器无缝拖动效果代码
2016/06/21 Javascript
jQuery 自定义下拉框(DropDown)附源码下载
2016/07/22 Javascript
浅析$(function) ready和onload 的区别
2016/09/03 Javascript
JavaScript仿百度图片浏览效果
2016/11/23 Javascript
jQuery+ajax的资源回收处理机制分析
2017/01/07 Javascript
基于vue手写tree插件的那点事儿
2019/08/20 Javascript
微信小程序实现上传多张图片、删除图片
2020/07/29 Javascript
python微信好友数据分析详解
2018/11/19 Python
Python数据可视化教程之Matplotlib实现各种图表实例
2019/01/13 Python
TensorFlow实现简单的CNN的方法
2019/07/18 Python
python-opencv获取二值图像轮廓及中心点坐标的代码
2019/08/27 Python
基于python调用psutil模块过程解析
2019/12/20 Python
HTML5 Canvas阴影使用方法实例演示
2013/08/02 HTML / CSS
简单html5代码获取地理位置
2014/03/31 HTML / CSS
Melijoe时尚童装德国官网:Melijoe德国
2016/09/03 全球购物
欧洲第一的摇滚和金属乐队服装网站:EMP
2017/10/26 全球购物
乌克兰在线药房:Аптека24
2019/10/30 全球购物
Nordgreen手表德国官方网站:丹麦极简主义手表
2019/10/31 全球购物
机械专业毕业生推荐信范文
2013/11/25 职场文书
品质管理部岗位职责范文
2014/03/01 职场文书
优秀的应届生自荐信
2014/05/23 职场文书
终止或解除劳动合同及劳动关系的证明书
2014/10/06 职场文书
2015年销售人员工作总结
2015/04/07 职场文书
2015年酒店客房部工作总结
2015/04/25 职场文书
2015年七一建党节活动方案
2015/05/05 职场文书
小程序实现筛子抽奖
2021/05/26 Javascript
详解缓存穿透击穿雪崩解决方案
2021/05/28 Redis
nginx共享内存的机制详解
2022/03/21 Servers
Android实现图片九宫格
2022/06/28 Java/Android