使用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 相关文章推荐
python3.0 字典key排序
Dec 24 Python
Python的ORM框架中SQLAlchemy库的查询操作的教程
Apr 25 Python
Python实现获取域名所用服务器的真实IP
Oct 25 Python
python使用Apriori算法进行关联性解析
Dec 21 Python
Python2.7环境Flask框架安装简明教程【已测试】
Jul 13 Python
pycharm 配置远程解释器的方法
Oct 28 Python
Python3爬虫之urllib携带cookie爬取网页的方法
Dec 28 Python
判断python对象是否可调用的三种方式及其区别详解
Jan 31 Python
Python 多线程其他属性以及继承Thread类详解
Aug 28 Python
Python 使用 Pillow 模块给图片添加文字水印的方法
Aug 30 Python
Python中super().__init__()测试以及理解
Dec 06 Python
python实现学生信息管理系统(面向对象)
Jun 05 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个人网站架设连环讲(四)
2006/10/09 PHP
php删除页面记录 同时刷新页面 删除条件用GET方式获得
2012/01/10 PHP
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
2013/04/28 PHP
在Linux系统的服务器上隐藏PHP版本号的方法
2015/06/06 PHP
Yii2增加验证码步骤详解
2016/04/25 PHP
ImageZoom 图片放大镜效果(多功能扩展篇)
2010/04/14 Javascript
新增加的内容是如何将div的scrollbar自动移动最下面
2014/01/02 Javascript
JS交换变量的方法
2015/01/21 Javascript
jQuery之动画ajax事件(实例讲解)
2017/07/18 jQuery
Vue2仿淘宝实现省市区三级联动
2020/04/15 Javascript
React+Webpack快速上手指南(小结)
2018/08/15 Javascript
element-ui表格列金额显示两位小数的方法
2018/08/24 Javascript
如何使用 vue + d3 画一棵树
2018/12/03 Javascript
React Native中Mobx的使用方法详解
2018/12/04 Javascript
Three.JS实现三维场景
2018/12/30 Javascript
微信小程序webview 脚手架使用详解
2019/07/22 Javascript
Vue路由对象属性 .meta $route.matched详解
2019/11/04 Javascript
vue-cli3中配置alias和打包加hash值操作
2020/09/04 Javascript
js基于canvas实现时钟组件
2021/02/07 Javascript
Python牛刀小试密码爆破
2011/02/03 Python
Python多线程编程(一):threading模块综述
2015/04/05 Python
python3.0 模拟用户登录,三次错误锁定的实例
2017/11/02 Python
Python单元测试实例详解
2018/05/25 Python
Python设计模式之建造者模式实例详解
2019/01/17 Python
pygame实现五子棋游戏
2019/10/29 Python
python实现字符串和数字拼接
2020/03/02 Python
python FTP编程基础入门
2021/02/27 Python
澳大利亚鞋仓库:Shoe Warehouse
2019/07/25 全球购物
英国最大的滑板品牌选择:Route One
2019/09/22 全球购物
Yahoo-PHP面试题4
2012/05/05 面试题
法雷奥SQA(electric)面试问题
2016/01/23 面试题
会计自荐书
2013/12/02 职场文书
秦兵马俑教学反思
2014/02/07 职场文书
中学生演讲稿
2014/04/26 职场文书
保洁公司服务承诺书
2014/05/28 职场文书
pytorch中的model.eval()和BN层的使用
2021/05/22 Python