使用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中使用PIL制作并验证图片验证码
Mar 15 Python
基于python实现KNN分类算法
Apr 23 Python
详解Python函数式编程—高阶函数
Mar 29 Python
Django 响应数据response的返回源码详解
Aug 06 Python
Python实现自定义读写分离代码实例
Nov 16 Python
python绘制BA无标度网络示例代码
Nov 21 Python
Python包,__init__.py功能与用法分析
Jan 07 Python
python实现全排列代码(回溯、深度优先搜索)
Feb 26 Python
python实现提取COCO,VOC数据集中特定的类
Mar 10 Python
Python Selenium 设置元素等待的三种方式
Mar 18 Python
python else语句在循环中的运用详解
Jul 06 Python
Python通过类的组合模拟街道红绿灯
Sep 16 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生成缩略图示例代码分享(使用gd库实现)
2014/01/20 PHP
一个经典的PHP验证码类分享
2014/11/18 PHP
CodeIgniter中使用Smarty3基本配置
2015/06/29 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
2018/06/13 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
2020/02/18 PHP
js取float型小数点后两位数的方法
2014/01/18 Javascript
JavaScript事件委托的技术原理探讨示例
2014/04/17 Javascript
JavaScript实现图片滑动切换的代码示例分享
2016/03/06 Javascript
详解vue中computed 和 watch的异同
2017/06/30 Javascript
JavaScript判断浏览器和hack滚动条的写法
2017/07/23 Javascript
基于Jquery Ajax type的4种类型(详解)
2017/08/02 jQuery
jquery+css实现下拉列表功能
2017/09/03 jQuery
微信小程序之GET请求的实例详解
2017/09/29 Javascript
vue绑定事件后获取绑定事件中的this方法
2018/09/15 Javascript
vue 使用axios 数据请求第三方插件的使用教程详解
2019/07/05 Javascript
使用grappelli为django admin后台添加模板
2014/11/18 Python
在 Python 应用中使用 MongoDB的方法
2017/01/05 Python
python自动截取需要区域,进行图像识别的方法
2018/05/17 Python
python读取txt文件中特定位置字符的方法
2018/12/24 Python
Python2与Python3的区别实例总结
2019/04/17 Python
Python如何将模块打包并发布
2020/08/30 Python
详解python模块pychartdir安装及导入问题
2020/10/22 Python
Python爬虫后获取重定向url的两种方法
2021/01/19 Python
使用tkinter实现三子棋游戏
2021/02/25 Python
css3图片边框border-image的用法
2017/06/30 HTML / CSS
html5实现微信打飞机游戏
2014/03/27 HTML / CSS
交通事故检查书范文
2014/01/30 职场文书
《中国的气候》教学反思
2014/02/23 职场文书
土地转让协议书
2014/09/27 职场文书
学校政风行风整改方案
2014/10/25 职场文书
实习协议书
2015/01/27 职场文书
2015年社区关工委工作总结
2015/04/03 职场文书
毕业班班主任工作总结2015
2015/07/23 职场文书
运动会广播稿20字
2015/08/19 职场文书
mysql 如何获取两个集合的交集/差集/并集
2021/06/08 MySQL
Redis数据同步之redis shake的实现方法
2022/04/21 Redis