啥是佩奇?使用Python自动绘画小猪佩奇的代码实例


Posted in Python onFebruary 20, 2019

最近社会猪可是火遍了大江南北,不蹭下热度可对不起它。见过手画的佩奇,见过用代码画的吗?

没有?那就来看我大显身手。

用python的turtle库来画小猪佩奇。

有人问:turtle难不难?

答曰:不难,就那几个方法,跟入新手村的任务一样简单。难得是要有耐心跟一定的画画功底。

话不多说,直接上我苦苦搜寻(copy)而来的代码+注释版

温馨提示:您苦苦思念的佩奇猪在文末等你哦!

# coding:utf-8
import turtle as t
t.pensize(4) # 设置画笔的大小
t.colormode(255) # 设置GBK颜色范围为0-255
t.color((255,155,192),"pink") # 设置画笔颜色和填充颜色(pink)
t.setup(840,500) # 设置主窗口的大小为840*500
t.speed(10) # 设置画笔速度为10
#鼻子
t.pu() # 提笔
t.goto(-100,100) # 画笔前往坐标(-100,100)
t.pd() # 下笔
t.seth(-30) # 笔的角度为-30°
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.seth(90) # 笔的角度为90度
t.fd(25) # 向前移动25
t.seth(0) # 转换画笔的角度为0
t.fd(10)
t.pd()
t.pencolor(255,155,192) # 设置画笔颜色
t.seth(10)
t.begin_fill()
t.circle(5) # 画一个半径为5的圆
t.color(160,82,45) # 设置画笔和填充颜色
t.end_fill()
t.pu()
t.seth(0)
t.fd(20)
t.pd()
t.pencolor(255,155,192)
t.seth(10)
t.begin_fill()
t.circle(5)
t.color(160,82,45)
t.end_fill()
#头
t.color((255,155,192),"pink")
t.pu()
t.seth(90)
t.fd(41)
t.seth(0)
t.fd(0)
t.pd()
t.begin_fill()
t.seth(180)
t.circle(300,-30) # 顺时针画一个半径为300,圆心角为30°的园
t.circle(100,-60)
t.circle(80,-100)
t.circle(150,-20)
t.circle(60,-95)
t.seth(161)
t.circle(-300,15)
t.pu()
t.goto(-100,100)
t.pd()
t.seth(-30)
a=0.4
for i in range(60):
  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.color((255,155,192),"pink")
t.pu()
t.seth(90)
t.fd(-7)
t.seth(0)
t.fd(70)
t.pd()
t.begin_fill()
t.seth(100)
t.circle(-50,50)
t.circle(-10,120)
t.circle(-50,54)
t.end_fill()
t.pu()
t.seth(90)
t.fd(-12)
t.seth(0)
t.fd(30)
t.pd()
t.begin_fill()
t.seth(100)
t.circle(-50,50)
t.circle(-10,120)
t.circle(-50,56)
t.end_fill()
#眼睛
t.color((255,155,192),"white")
t.pu()
t.seth(90)
t.fd(-20)
t.seth(0)
t.fd(-95)
t.pd()
t.begin_fill()
t.circle(15)
t.end_fill()
t.color("black")
t.pu()
t.seth(90)
t.fd(12)
t.seth(0)
t.fd(-3)
t.pd()
t.begin_fill()
t.circle(3)
t.end_fill()
t.color((255,155,192),"white")
t.pu()
t.seth(90)
t.fd(-25)
t.seth(0)
t.fd(40)
t.pd()
t.begin_fill()
t.circle(15)
t.end_fill()
t.color("black")
t.pu()
t.seth(90)
t.fd(12)
t.seth(0)
t.fd(-3)
t.pd()
t.begin_fill()
t.circle(3)
t.end_fill()
#腮
t.color((255,155,192))
t.pu()
t.seth(90)
t.fd(-95)
t.seth(0)
t.fd(65)
t.pd()
t.begin_fill()
t.circle(30)
t.end_fill()
#嘴
t.color(239,69,19)
t.pu()
t.seth(90)
t.fd(15)
t.seth(0)
t.fd(-100)
t.pd()
t.seth(-80)
t.circle(30,40)
t.circle(40,80)
#身体
t.color("red",(255,99,71))
t.pu()
t.seth(90)
t.fd(-20)
t.seth(0)
t.fd(-78)
t.pd()
t.begin_fill()
t.seth(-130)
t.circle(100,10)
t.circle(300,30)
t.seth(0)
t.fd(230)
t.seth(90)
t.circle(300,30)
t.circle(100,3)
t.color((255,155,192),(255,100,100))
t.seth(-135)
t.circle(-80,63)
t.circle(-150,24)
t.end_fill()
#手
t.color((255,155,192))
t.pu()
t.seth(90)
t.fd(-40)
t.seth(0)
t.fd(-27)
t.pd()
t.seth(-160)
t.circle(300,15)
t.pu()
t.seth(90)
t.fd(15)
t.seth(0)
t.fd(0)
t.pd()
t.seth(-10)
t.circle(-20,90)
t.pu()
t.seth(90)
t.fd(30)
t.seth(0)
t.fd(237)
t.pd()
t.seth(-20)
t.circle(-300,15)
t.pu()
t.seth(90)
t.fd(20)
t.seth(0)
t.fd(0)
t.pd()
t.seth(-170)
t.circle(20,90)
#脚
t.pensize(10)
t.color((240,128,128))
t.pu()
t.seth(90)
t.fd(-75)
t.seth(0)
t.fd(-180)
t.pd()
t.seth(-90)
t.fd(40)
t.seth(-180)
t.color("black")
t.pensize(15)
t.fd(20)
t.pensize(10)
t.color((240,128,128))
t.pu()
t.seth(90)
t.fd(40)
t.seth(0)
t.fd(90)
t.pd()
t.seth(-90)
t.fd(40)
t.seth(-180)
t.color("black")
t.pensize(15)
t.fd(20)
#尾巴
t.pensize(4)
t.color((255,155,192))
t.pu()
t.seth(90)
t.fd(70)
t.seth(0)
t.fd(95)
t.pd()
t.seth(0)
t.circle(70,20)
t.circle(10,330)
t.circle(70,30)

啥是佩奇?使用Python自动绘画小猪佩奇的代码实例

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
haskell实现多线程服务器实例代码
Nov 26 Python
Python列表生成器的循环技巧分享
Mar 06 Python
Python简单获取自身外网IP的方法
Sep 18 Python
python做量化投资系列之比特币初始配置
Jan 23 Python
python实现超市扫码仪计费
May 30 Python
解决pandas中读取中文名称的csv文件报错的问题
Jul 04 Python
Django csrf 两种方法设置form的实例
Feb 03 Python
Python实现计算对象的内存大小示例
Jul 10 Python
django框架单表操作之增删改实例分析
Dec 16 Python
通过 Python 和 OpenCV 实现目标数量监控
Jan 05 Python
python GUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例
Feb 28 Python
Python&Matlab实现灰狼优化算法的示例代码
Mar 21 Python
Python实战购物车项目的实现参考
Feb 20 #Python
利用django+wechat-python-sdk 创建微信服务器接入的方法
Feb 20 #Python
python3+pyqt5+itchat微信定时发送消息的方法
Feb 20 #Python
钉钉群自定义机器人消息Python封装的实例
Feb 20 #Python
python3实现zabbix告警推送钉钉的示例
Feb 20 #Python
python实现图书借阅系统
Feb 20 #Python
python 调用钉钉机器人的方法
Feb 20 #Python
You might like
在PHP中执行系统外部命令
2006/10/09 PHP
php为什么选mysql作为数据库? Mysql 创建用户方法
2007/07/02 PHP
攻克CakePHP系列二 表单数据显示
2008/10/22 PHP
初品cakephp 入门基础
2012/02/16 PHP
php实现监听事件
2013/11/06 PHP
php实现在线通讯录功能(附源码)
2016/05/13 PHP
php类的自动加载操作实例详解
2016/09/28 PHP
Javascript 学习书 推荐
2009/06/13 Javascript
vs2003 js文件编码问题的解决方法
2010/03/20 Javascript
推荐30个新鲜出炉的精美 jQuery 效果
2012/03/26 Javascript
javascript删除字符串最后一个字符
2014/01/14 Javascript
javascript动态判断html元素并执行不同的操作
2014/06/16 Javascript
打造个性化的功能强大的Jquery虚拟键盘(VirtualKeyboard)
2014/10/11 Javascript
jQuery模拟新浪微博首页滚动效果的方法
2015/03/11 Javascript
javascript中对变量类型的判断方法
2015/08/09 Javascript
ES6中非常实用的新特性介绍
2016/03/10 Javascript
Javascript下拉刷新的简单实现
2017/02/14 Javascript
微信小程序 按钮滑动的实现方法
2017/09/27 Javascript
基于Vue渲染与插件的加载顺序的问题详解
2018/03/05 Javascript
vue利用axios来完成数据的交互
2018/03/23 Javascript
详解nodejs 配置文件处理方案
2019/01/02 NodeJs
create-react-app使用antd按需加载的样式无效问题的解决
2019/02/26 Javascript
vue使用screenfull插件实现全屏功能
2020/09/17 Javascript
深入解析Python中的集合类型操作符
2015/08/19 Python
Python爬取三国演义的实现方法
2016/09/12 Python
python对json的相关操作实例详解
2017/01/04 Python
Pytorch: 自定义网络层实例
2020/01/07 Python
Pytorch中的自动求梯度机制和Variable类实例
2020/02/29 Python
在django中使用post方法时,需要增加csrftoken的例子
2020/03/13 Python
Python将二维列表list的数据输出(TXT,Excel)
2020/04/23 Python
使用Keras画神经网络准确性图教程
2020/06/15 Python
写自荐信的七个技巧
2013/10/15 职场文书
客户服务经理岗位职责
2014/01/29 职场文书
护士自我鉴定怎么写
2014/02/07 职场文书
护士毕业自我鉴定
2014/02/07 职场文书
劳动仲裁代理词范文
2015/05/25 职场文书