使用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调用windows api锁定计算机示例
Apr 17 Python
一张图带我们入门Python基础教程
Feb 05 Python
Python编程实现删除VC临时文件及Debug目录的方法
Mar 22 Python
Python读取本地文件并解析网页元素的方法
May 21 Python
Python装饰器模式定义与用法分析
Aug 06 Python
对pandas里的loc并列条件索引的实例讲解
Nov 15 Python
Python转换时间的图文方法
Jul 01 Python
Python super()方法原理详解
Mar 31 Python
TensorFlow实现模型断点训练,checkpoint模型载入方式
May 26 Python
python实现简单的学生管理系统
Feb 22 Python
教你如何用Python实现人脸识别(含源代码)
Jun 23 Python
Python正则表达式中flags参数的实例详解
Apr 01 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中的Class的几点个人看法
2006/10/09 PHP
使用 eAccelerator加速PHP代码的目的
2007/03/16 PHP
PHP排序之二维数组的按照字母排序实现代码
2011/08/13 PHP
CodeIgniter配置之SESSION用法实例分析
2016/01/19 PHP
Linux下安装Memcached服务器和客户端与PHP使用示例
2019/04/15 PHP
更正确的asp冒泡排序
2007/05/24 Javascript
JQuery index()方法使用代码
2010/06/02 Javascript
javascript 单例/单体模式(Singleton)
2011/04/07 Javascript
js实现iframe跨页面调用函数的方法
2014/12/13 Javascript
Markdown与Bootstrap相结合实现图片自适应属性
2016/05/04 Javascript
Bootstrap组件(一)之菜单
2016/05/11 Javascript
对js eval()函数的一些见解
2016/08/15 Javascript
angular 用拦截器统一处理http请求和响应的方法
2017/06/08 Javascript
bootstrap实现二级下拉菜单效果
2017/11/23 Javascript
jQuery实现动态控制页面元素的方法分析
2017/12/20 jQuery
Vue的土著指令和自定义指令实例详解
2018/02/04 Javascript
webpack配置打包后图片路径出错的解决
2018/04/26 Javascript
vue cli3.0 引入eslint 结合vscode使用
2019/05/27 Javascript
python正则表达式的使用
2017/06/12 Python
Python连接Oracle之环境配置、实例代码及报错解决方法详解
2020/02/11 Python
Python类中self参数用法详解
2020/02/13 Python
Python绘制K线图之可视化神器pyecharts的使用
2021/03/02 Python
CPB肌肤之钥美国官网:Clé de Peau Beauté
2017/09/05 全球购物
哥德堡通行证:Gothenburg Pass
2019/12/09 全球购物
Prototype是怎么扩展DOM的
2014/10/01 面试题
请假条的格式
2014/04/11 职场文书
售房委托书
2014/08/30 职场文书
房地产经营管理专业自荐信
2014/09/02 职场文书
交通事故和解协议书
2014/09/25 职场文书
2014村书记党建工作汇报材料
2014/11/02 职场文书
2014年人事专员工作总结
2014/11/19 职场文书
销售内勤岗位职责范本
2015/04/13 职场文书
餐厅开业活动方案
2019/07/08 职场文书
用Python提取PDF表格的方法
2021/04/11 Python
详解Python内置模块Collections
2022/03/22 Python