欢迎关注【无量测试之道】公众号,回复【领取资源】,
Python编程学习资源干货、
Python+Appium框架APP的UI自动化、
Python+Selenium框架Web的UI自动化、
Python+Unittest框架API自动化、

资源和代码 免费送啦~
文章下方有公众号二维码,可直接微信扫一扫关注即可。

刚刚,

被《啥是佩奇》这支广告片刷屏了。

佩奇明明是个喜剧角色,

却看哭了所有人。

备注:大家想看详细视频,可网上搜索观看,此处只截图留样说明

今天分享的主题是:如何使用python绘画小猪佩奇。

1、首先来讲下具体的实现思路:

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

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

在海龟作图中,我们可以编写指令让一个虚拟的(想象中的)海龟在屏幕上来回移动。这个海龟带着一只钢笔,我们可以让海龟无论移动到哪都使用这只钢笔来绘制线条。通过编写代码,以各种很酷的模式移动海龟,我们可以绘制出令人惊奇的图片。使用海龟作图,我们不仅能够只用几行代码就创建出令人印象深刻的视觉效果,而且还可以跟随海龟看看每行代码如何影响到它的移动。这能够帮助我们理解代码的逻辑。所以海龟作图也常被用作新手学习 Python 的一种方式。更丰富详细的功能及知识可以参考:https://docs.python.org/3/library/turtle.html

了解了tuttle的用法之后就可以开始实战了。

2、具体代码实现如下【Python3版本】:

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

每一个方法都会实现不同部位的绘制功能,请见注释说明。

3、具体绘制效果图如下:

感兴趣的朋友,可以复制代码在本地运行起来,看下绘制效果。

备注:我的个人公众号已正式开通,致力于测试技术的分享,包含:功能测试,测试开发,API接口自动化、测试运维、UI自动化测试等,微信搜索公众号:“无量测试之道”,或扫描下方二维码:

添加关注,一起共同成长吧。

Python教你秒懂:啥是佩奇?相关推荐

  1. python代码翻译-10 行代码,Python 教你自制屏幕翻译工具,有逼格!!

    原标题:10 行代码,Python 教你自制屏幕翻译工具,有逼格!! 1. 场景 大家如果平常遇到不认识的英文,相信大部分的人都会复制内容后,使用翻译软件,或者拷贝到网站上去执行翻译. 当然,对于 I ...

  2. 开课吧python课程-Python教父廖雪峰加入开课吧 打造技术品类黄金内容班底

    近日,刚刚宣布获得D轮融资的慧科集团再添喜讯--开源教程开发者Python教父廖雪峰作为内容合伙人和战略顾问加入慧科集团旗下互联网人学习成长社群开课吧,全面统筹和规划开课吧Python.Java.区块 ...

  3. python turtle画熊-Python使用turtle库绘制小猪佩奇(实例代码)

    turtle(海龟)是Python重要的标准库之一,它能够进行基本的图形绘制.turtle图形绘制的概念诞生于1969年,成功应用于LOGO编程语言. turtle库绘制图形有一个基本框架:一个小海龟 ...

  4. python画图小猪佩奇_吊炸天!Python 20秒画出小猪佩奇

    原标题:吊炸天!Python 20秒画出小猪佩奇 今年社交平台上的带货女王是谁?范冰冰?杨幂?Angelababy?不,是猪猪女孩小猪佩奇. 小猪佩奇在构图基本是各种曲线,类抛物线.类圆.类椭圆.类二 ...

  5. python爬虫教程-Python教父|廖雪峰老师官方爬虫教程,13个案例带你全面入门!

    原标题:Python教父|廖雪峰老师官方爬虫教程,13个案例带你全面入门! Python简直就是万能的,你用Python都做过哪些事? 用网页看各大网站的VIP视频,用python下载? 用Pytho ...

  6. python代码翻译器-10 行代码,Python 教你自制屏幕翻译工具,有逼格!!

    原标题:10 行代码,Python 教你自制屏幕翻译工具,有逼格!! 1. 场景 大家如果平常遇到不认识的英文,相信大部分的人都会复制内容后,使用翻译软件,或者拷贝到网站上去执行翻译. 当然,对于 I ...

  7. Python学习笔记六——画小猪佩奇

    目录 Python学习笔记六--画小猪佩奇 画布 画笔 属性设置 操纵命令 运动命令 画笔控制命令 全局控制命令 其他命令 Python学习笔记六--画小猪佩奇 使用Python的turtle库可以绘 ...

  8. 《趣学Python——教孩子学编程》——第1部分 学习编程 第1章 Python不是大蟒蛇 1.1 关于计算机语言...

    本节书摘来自异步社区<趣学Python--教孩子学编程>一书中的第1章,第1.1节,作者[美]Jason R. Briggs,尹哲 译,更多章节内容可以访问云栖社区"异步社区&q ...

  9. 手把手使用Python教你破解谷歌(Google)人机验证码—上篇

    手把手使用Python教你破解谷歌(Google)人机验证码-上篇 众里寻他千百度.蓦然回首,那人却在,灯火阑珊处. /1 前言/ 今天呢,咱们来说一下Google,我们都知道,Google是目前地表 ...

最新文章

  1. 自然语言处理(NLP)之gensim中的TF-IDF的计算方法
  2. js 实现“倒计时” 以及 N秒后跳转页面
  3. 湖北黄冈中学2021年高考成绩查询,【喜报】2020年黄冈中学高考成绩出炉,600分以上人数556人...
  4. 【EventBus】事件通信框架 ( 订阅类-订阅方法缓存集合 | 事件类型-订阅者集合 | 订阅对象-事件类型集合 )
  5. 最近项目用到Dubbo框架,临时抱佛脚分享一下共探讨(转)
  6. 外观模式(Facade) - 为系统分层次
  7. 关于CheckBoxList和RadioButtonList的几个问题
  8. java 无法加载资源,JavaScript:无法加载资源:服务器响应状态为404(未找到)
  9. RestTemplate使用笔记
  10. git cherry-pick合并某个commit
  11. jdk和tomcat
  12. java 批量生成条形码,打包zip(springboot)
  13. CTSC2018 APIO2018 颓废 + 打铁记
  14. YOLOv报错(Arial.ttf)
  15. PC端浏览器启动本地应用
  16. SQL的常见函数的使用方法和举例说明
  17. 如何学习(Java)
  18. 查询计算机u盘记录时间,怎么通过系统日志查看u盘的拔出时间
  19. 在html登陆页面代码中添加背景图片,为什么找不到图片放置的位置
  20. 国产轻量级BI平台CBoard的安装和初步使用介绍

热门文章

  1. linux系统可以无显卡运行吗,Linux操作系统无显卡安装方式
  2. 平安金融壹帐通面试总结
  3. 去哪儿网抢火车票方法
  4. mr图像翻转的原因_【MR技术】为什么有时压脂图像黑了一块?
  5. 动态域名相关内容(持续更新篇)
  6. IT忍者神龟之用Nginx搭建一个安全的、快速的微服务架构
  7. LeetCode 18. 早餐组合
  8. 0-1背包、部分背包和完全背包模板
  9. lucene 4.3 通过TokenStream显示分词代码演示
  10. Thinking in java 第11章 持有对象 笔记+习题