使用python画个小猪佩奇的示例代码


Posted in Python onJune 06, 2018

使用python画个小猪佩奇的示例代码 

本原理

选好画板大小,设置好画笔颜色、粗细,定位好位置,依次画鼻子、头、耳朵、眼睛、腮、嘴、身体、手脚、尾巴,完事儿。

都知道,Turtle 是 Python 内置的一个比较有趣味的模块,俗称“海龟绘图”,它是基于 Tkinter 模块打造,提供一些简单的绘图工具。

在海龟作图中,我们可以编写指令让一个虚拟的(想象中的)海龟在屏幕上来回移动。这个海龟带着一只钢笔,我们可以让海龟无论移动到哪都使用这只钢笔来绘制线条。通过编写代码,以各种很酷的模式移动海龟,我们可以绘制出令人惊奇的图片。使用海龟作图,我们不仅能够只用几行代码就创建出令人印象深刻的视觉效果,而且还可以跟随海龟看看每行代码如何影响到它的移动。这能够帮助我们理解代码的逻辑。

所以,海龟作图也常被用作新手学习 Python 的一种方式。更丰富详细的功能及知识可以参考官方文档:

https://docs.python.org/3/library/turtle.html

from turtle import*
def nose(x,y):#鼻子
 penup()#提起笔
 goto(x,y)#定位
 pendown()#落笔,开始画
 setheading(-30)#将乌龟的方向设置为to_angle/为数字(0-东、90-北、180-西、270-南)
 begin_fill()#准备开始填充图形
 a=0.4
 for i in range(120):
  if 0<=i<30 or 60<=i<90:
   a=a+0.08
   left(3) #向左转3度
   forward(a) #向前走a的步长
  else:
   a=a-0.08
   left(3)
   forward(a)
 end_fill()#填充完成
 penup()
 setheading(90)
 forward(25)
 setheading(0)
 forward(10)
 pendown()
 pencolor(255,155,192)#画笔颜色
 setheading(10)
 begin_fill()
 circle(5)
 color(160,82,45)#返回或设置pencolor和fillcolor
 end_fill()
 penup()
 setheading(0)
 forward(20)
 pendown()
 pencolor(255,155,192)
 setheading(10)
 begin_fill()
 circle(5)
 color(160,82,45)
 end_fill()
def head(x,y):#头
 color((255,155,192),"pink")
 penup()
 goto(x,y)
 setheading(0)
 pendown()
 begin_fill()
 setheading(180)
 circle(300,-30)
 circle(100,-60)
 circle(80,-100)
 circle(150,-20)
 circle(60,-95)
 setheading(161)
 circle(-300,15)
 penup()
 goto(-100,100)
 pendown()
 setheading(-30)
 a=0.4
 for i in range(60):
  if 0<=i<30 or 60<=i<90:
   a=a+0.08
   lt(3) #向左转3度
   fd(a) #向前走a的步长
  else:
   a=a-0.08
   lt(3)
   fd(a)
 end_fill()
def ears(x,y): #耳朵
 color((255,155,192),"pink")
 penup()
 goto(x,y)
 pendown()
 begin_fill()
 setheading(100)
 circle(-50,50)
 circle(-10,120)
 circle(-50,54)
 end_fill()
 penup()
 setheading(90)
 forward(-12)
 setheading(0)
 forward(30)
 pendown()
 begin_fill()
 setheading(100)
 circle(-50,50)
 circle(-10,120)
 circle(-50,56)
 end_fill()
def eyes(x,y):#眼睛
 color((255,155,192),"white")
 penup()
 setheading(90)
 forward(-20)
 setheading(0)
 forward(-95)
 pendown()
 begin_fill()
 circle(15)
 end_fill()
 color("black")
 penup()
 setheading(90)
 forward(12)
 setheading(0)
 forward(-3)
 pendown()
 begin_fill()
 circle(3)
 end_fill()
 color((255,155,192),"white")
 penup()
 seth(90)
 forward(-25)
 seth(0)
 forward(40)
 pendown()
 begin_fill()
 circle(15)
 end_fill()
 color("black")
 penup()
 setheading(90)
 forward(12)
 setheading(0)
 forward(-3)
 pendown()
 begin_fill()
 circle(3)
 end_fill()
def cheek(x,y):#腮
 color((255,155,192))
 penup()
 goto(x,y)
 pendown()
 setheading(0)
 begin_fill()
 circle(30)
 end_fill()
def mouth(x,y): #嘴
 color(239,69,19)
 penup()
 goto(x,y)
 pendown()
 setheading(-80)
 circle(30,40)
 circle(40,80)
def setting():   #参数设置
 pensize(4)
 hideturtle()  #使乌龟无形(隐藏)
 colormode(255)  #将其设置为1.0或255.随后 颜色三元组的r,g,b值必须在0 .. cmode范围内
 color((255,155,192),"pink")
 setup(840,500)
 speed(10)
def main():
 setting()   #画布、画笔设置
 nose(-100,100)  #鼻子
 head(-69,167)  #头
 ears(0,160)   #耳朵
 eyes(0,140)   #眼睛
 cheek(80,10)  #腮
 mouth(-20,30)  #嘴
 done()
if __name__ == '__main__':
 main()

总结

以上所述是小编给大家介绍的使用python画个小猪佩奇的示例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
对python实时得到鼠标位置的示例讲解
Oct 14 Python
python实现微信防撤回神器
Apr 29 Python
python视频按帧截取图片工具
Jul 23 Python
django rest framework vue 实现用户登录详解
Jul 29 Python
python基础 range的用法解析
Aug 23 Python
Pytorch Tensor 输出为txt和mat格式方式
Jan 03 Python
Python 3.8 新功能大揭秘【新手必学】
Feb 05 Python
python 生成任意形状的凸包图代码
Apr 16 Python
pycharm 对代码做静态检查操作
Jun 09 Python
基于python判断字符串括号是否闭合{}[]()
Sep 21 Python
python利用xlsxwriter模块 操作 Excel
Oct 14 Python
Python基础知识学习之类的继承
May 31 Python
python re模块的高级用法详解
Jun 06 #Python
Python实现的爬取网易动态评论操作示例
Jun 06 #Python
Python3实现的爬虫爬取数据并存入mysql数据库操作示例
Jun 06 #Python
利用python如何处理百万条数据(适用java新手)
Jun 06 #Python
Python3实现的Mysql数据库操作封装类
Jun 06 #Python
python操作redis方法总结
Jun 06 #Python
目前最全的python的就业方向
Jun 05 #Python
You might like
linux系统下php安装mbstring扩展的二种方法
2014/01/20 PHP
PHP处理JSON字符串key缺少双引号的解决方法
2014/09/16 PHP
使用laravel和ajax实现整个页面无刷新的操作方法
2019/10/03 PHP
会自动逐行上升的文本框
2006/06/30 Javascript
Javascript Boolean、Nnumber、String 强制类型转换的区别详细介绍
2012/12/13 Javascript
jQuery实现长文字部分显示代码
2013/05/13 Javascript
网页中JS函数自动执行常用三种方法
2016/03/30 Javascript
js仿淘宝和百度文库的评分功能
2016/05/15 Javascript
JavaScript在form表单中使用button按钮实现submit提交方法
2017/01/23 Javascript
js仿微信抢红包功能
2020/09/25 Javascript
mockjs+vue页面直接展示数据的方法
2018/12/19 Javascript
layui表格数据重载
2019/07/27 Javascript
jQuery列表动态增加和删除的实现方法
2020/11/05 jQuery
nodejs中的异步编程知识点详解
2021/01/17 NodeJs
Python logging模块学习笔记
2014/05/24 Python
使用python调用浏览器并打开一个网址的例子
2014/06/05 Python
python实现读取并显示图片的两种方法
2017/01/13 Python
Pandas 合并多个Dataframe(merge,concat)的方法
2018/06/08 Python
django框架模板中定义变量(set variable in django template)的方法分析
2019/06/24 Python
Django框架中序列化和反序列化的例子
2019/08/06 Python
Pyqt5 关于流式布局和滚动条的综合使用示例代码
2020/03/24 Python
python爬虫分布式获取数据的实例方法
2020/11/26 Python
CSS实现雨滴动画效果的实例代码
2019/10/08 HTML / CSS
史泰博(Staples)中国官方网站:办公用品一站式采购
2016/09/05 全球购物
牛津在线药房:Oxford Online Pharmacy
2020/11/16 全球购物
毕业生精彩的自我评价分享
2013/10/06 职场文书
留学自荐信的技巧
2013/10/17 职场文书
自我评价范文
2013/12/22 职场文书
演讲稿怎么写才完美
2014/01/02 职场文书
《最可爱的人》教学反思
2014/02/14 职场文书
乡镇办公室工作决心书
2014/03/11 职场文书
科研课题实施方案
2014/03/18 职场文书
办公室主任四风问题对照检查材料思想汇报
2014/09/28 职场文书
2014年劳动部工作总结
2014/12/11 职场文书
爱情保证书
2015/01/17 职场文书
工作经历证明范本
2015/06/15 职场文书