使用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.6简单操作Mysql数据库
Sep 12 Python
JSONLINT:python的json数据验证库实例解析
Nov 28 Python
python selenium自动上传有赞单号的操作方法
Jul 05 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
May 31 Python
python解析多层json操作示例
Dec 30 Python
Django中ORM找出内容不为空的数据实例
May 20 Python
通过实例简单了解python yield使用方法
Aug 06 Python
Python爬取你好李焕英豆瓣短评生成词云的示例代码
Feb 24 Python
python用海龟绘图写贪吃蛇游戏
Jun 18 Python
python之PySide2安装使用及QT Designer UI设计案例教程
Jul 26 Python
Python  lambda匿名函数和三元运算符
Apr 19 Python
python可视化分析绘制带趋势线的散点图和边缘直方图
Jun 25 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
一个用mysql_odbc和php写的serach数据库程序
2006/10/09 PHP
php一次性删除前台checkbox多选内容的方法
2013/09/22 PHP
ThinkPHP实现图片上传操作的方法详解
2017/05/08 PHP
JS验证控制输入中英文字节长度(input、textarea等)具体实例
2013/06/21 Javascript
仿新浪微博登陆邮箱提示效果的js代码
2013/08/02 Javascript
Jquery弹出层插件ThickBox的使用方法
2014/12/09 Javascript
jquery.cookie.js使用指南
2015/01/05 Javascript
黑帽seo劫持程序,js劫持搜索引擎代码
2015/09/15 Javascript
jQuery展示表格点击变色、全选、删除
2017/01/05 Javascript
React Native中Navigator的使用方法示例
2017/10/13 Javascript
vue单页缓存方案分析及实现
2018/09/25 Javascript
Vue实现table上下移动功能示例
2019/02/21 Javascript
详解如何在vue项目中使用layui框架及采坑
2019/05/05 Javascript
详解Jest结合Vue-test-utils使用的初步实践
2019/06/27 Javascript
[04:32]玩具屠夫中文语音节选
2020/08/23 DOTA
python使用str &amp; repr转换字符串
2016/10/13 Python
Python 包含汉字的文件读写之每行末尾加上特定字符
2016/12/12 Python
基于Python os模块常用命令介绍
2017/11/03 Python
解决pyinstaller打包exe文件出现命令窗口一闪而过的问题
2018/10/31 Python
Flask模板引擎之Jinja2语法介绍
2019/06/26 Python
Python selenium的基本使用方法分析
2019/12/21 Python
pytorch三层全连接层实现手写字母识别方式
2020/01/14 Python
python针对Oracle常见查询操作实例分析
2020/04/30 Python
python访问hdfs的操作
2020/06/06 Python
Django如何使用asyncio协程和ThreadPoolExecutor多线程
2020/10/12 Python
Python爬虫简单运用爬取代理IP的实现
2020/12/01 Python
python快速安装OpenCV的步骤记录
2021/02/22 Python
adidas菲律宾官网:adidas PH
2020/02/07 全球购物
沃尔玛加拿大:Walmart.ca
2020/03/02 全球购物
Molton Brown美国官网:奢华美容、香水、沐浴和身体护理
2020/09/02 全球购物
档案接收函范文
2014/01/10 职场文书
会计专业自我评价
2014/02/12 职场文书
财产保全担保书范文
2014/04/01 职场文书
英语故事演讲稿
2014/04/29 职场文书
暑假社会实践证明格式
2014/10/28 职场文书
行政答辩状范文
2015/05/21 职场文书