使用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 encode和decode的妙用
Sep 02 Python
Python3.2中的字符串函数学习总结
Apr 23 Python
Python爬取国外天气预报网站的方法
Jul 10 Python
基于python的Tkinter编写登陆注册界面
Jun 30 Python
Python实现读取txt文件并转换为excel的方法示例
May 17 Python
python多进程读图提取特征存npy
May 21 Python
python实现简单五子棋游戏
Jun 18 Python
python中@property和property函数常见使用方法示例
Oct 21 Python
在Python中使用MongoEngine操作数据库教程实例
Dec 03 Python
python3 webp转gif格式的实现示例
Dec 10 Python
tensorflow 实现自定义梯度反向传播代码
Feb 10 Python
Python Opencv中用compareHist函数进行直方图比较对比图片
Apr 07 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
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
2010/05/10 PHP
thinkPHP批量删除的实现方法分析
2016/11/09 PHP
雄兵连第三季海报曝光,艾妮熙德成主角,蔷薇新造型
2021/03/09 国漫
javascript showModalDialog 内跳转页面的问题
2010/11/25 Javascript
点击标签切换和自动切换DIV选项卡
2014/08/10 Javascript
JavaScript监听和禁用浏览器回车事件实例
2015/01/31 Javascript
avalon js实现仿微博拖动图片排序
2015/08/14 Javascript
jQuery树形下拉菜单特效代码分享
2015/08/15 Javascript
JavaScript快速切换繁体中文和简体中文的方法及网站支持简繁体切换的绝招
2016/03/07 Javascript
详解js静态资源文件请求的处理
2017/08/01 Javascript
koa上传excel文件并解析的实现方法
2018/08/09 Javascript
vue 中引用gojs绘制E-R图的方法示例
2018/08/24 Javascript
ES6使用export和import实现模块化的方法
2018/09/10 Javascript
Vue.js 中 axios 跨域访问错误问题及解决方法
2018/11/21 Javascript
详解react-refetch的使用小例子
2019/02/15 Javascript
JS开发 富文本编辑器TinyMCE详解
2019/07/19 Javascript
JavaScript Dom 绑定事件操作实例详解
2019/10/02 Javascript
原生JavaScript之es6中Class的用法分析
2020/02/23 Javascript
Vue和React有哪些区别
2020/09/12 Javascript
基于react项目打包css引用路径错误解决方案
2020/10/28 Javascript
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:奇迹哥卡尔秀翻全场
2017/03/28 DOTA
python文件读写并使用mysql批量插入示例分享(python操作mysql)
2014/02/17 Python
python re模块findall()函数实例解析
2018/01/19 Python
Python 动态变量名定义与调用方法
2020/02/09 Python
拿来就用!Python批量合并PDF的示例代码
2020/08/10 Python
Python 程序员必须掌握的日志记录
2020/08/17 Python
详解html5页面 rem 布局适配方法
2018/01/12 HTML / CSS
FitFlop澳大利亚官网:英国符合人体工学的鞋类品牌
2017/06/05 全球购物
美国最大的无人机经销商:DroneNerds
2018/03/20 全球购物
Shell脚本如何向终端输出信息
2014/04/25 面试题
2014年中秋寄语
2014/08/11 职场文书
2014年商场国庆节活动策划方案
2014/09/16 职场文书
个人融资协议书
2014/10/02 职场文书
2015年初中教务处工作总结
2015/07/21 职场文书
导游词之无锡古运河
2019/11/14 职场文书
Nginx开启Brotli压缩算法实现过程详解
2021/03/31 Servers