使用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对数据库操作
Mar 28 Python
Python设计足球联赛赛程表程序的思路与简单实现示例
Jun 28 Python
Python内建模块struct实例详解
Feb 02 Python
pandas 将list切分后存入DataFrame中的实例
Jul 03 Python
linux安装Python3.4.2的操作方法
Sep 28 Python
解决pycharm安装后代码区不能编辑的问题
Oct 28 Python
对pytorch中的梯度更新方法详解
Aug 20 Python
使用python os模块复制文件到指定文件夹的方法
Aug 22 Python
Python unittest工作原理和使用过程解析
Feb 24 Python
Python操作Jira库常用方法解析
Apr 10 Python
Python3.8安装Pygame教程步骤详解
Aug 14 Python
python自动化发送邮件实例讲解
Jan 04 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
PHP+MySQL之Insert Into数据插入用法分析
2015/09/27 PHP
thinkPHP3.1验证码的简单实现方法
2016/04/22 PHP
Laravel5.* 打印出执行的sql语句的方法
2017/07/24 PHP
一个用js实现的页内搜索代码
2007/05/23 Javascript
JQuery 学习笔记01 JQuery初接触
2010/05/06 Javascript
javascript循环变量注册dom事件 之强大的闭包
2010/09/08 Javascript
HTML中的setCapture和releaseCapture使用介绍
2012/03/21 Javascript
设为首页加入收藏兼容360/火狐/谷歌/IE等主流浏览器的代码
2013/03/26 Javascript
jQuery.fn和jQuery.prototype区别介绍
2013/10/05 Javascript
php显示当前文件所在的文件以及文件夹所有文件以树形展开
2013/12/13 Javascript
Ajax请求在数据量大的时候出现超时的解决方法
2014/02/27 Javascript
JS数组array元素的添加和删除方法代码实例
2015/06/01 Javascript
js实现图片轮播效果
2015/12/19 Javascript
jquery自定义插件开发之window的实现过程
2016/05/06 Javascript
jQuery插件uploadify实现ajax效果的图片上传
2016/06/18 Javascript
使用ionic(选项卡栏tab) icon(图标) ionic上拉菜单(ActionSheet) 实现通讯录界面切换实例代码
2017/10/20 Javascript
基于ionic实现下拉刷新功能
2018/05/10 Javascript
Vue实现自定义下拉菜单功能
2018/07/16 Javascript
npm 语义版本控制详解
2019/09/10 Javascript
Vue通过WebSocket建立长连接的实现代码
2019/11/05 Javascript
uniapp,微信小程序中使用 MQTT的问题
2020/07/11 Javascript
python学习手册中的python多态示例代码
2014/01/21 Python
Python中操作mysql的pymysql模块详解
2016/09/13 Python
numpy.ndarray 交换多维数组(矩阵)的行/列方法
2018/08/02 Python
python时间日期操作方法实例小结
2020/02/06 Python
pandas中ix的使用详细讲解
2020/03/09 Python
CSS+jQuery实现的在线答题功能
2015/04/25 HTML / CSS
html通过canvas转成base64的方法
2019/07/18 HTML / CSS
HTML5 客户端数据库简易使用:IndexedDB
2019/12/19 HTML / CSS
瑞士网球商店:Tennis-Point
2020/03/12 全球购物
质量承诺书范文
2014/03/27 职场文书
师德自我剖析材料范文
2014/10/06 职场文书
幼儿教师辞职信范文
2015/03/02 职场文书
大学生违纪检讨书范文
2015/05/07 职场文书
Python包管理工具pip的15 个使用小技巧
2021/05/17 Python
python多线程方法详解
2022/01/18 Python