快要过年了,在这里给大家带来的是Python版的小猪佩奇拜年!
效果如下:

turtle库介绍

turtle(海龟)库是python自带的绘图库,可以用它来绘制想要的图画。
它的绘图原理:有一只海龟,其实在窗体正中心,在画布上游走, 走过的轨迹形成了绘制的图形。海龟由程序控制,可以控制移动、变换 颜色、改变宽度等。

主要指令:

  1. 控制指令
  2. 绘制指令
  3. 全局指令

    这些指令都比较简单,利用这些指令,你就可以像一个画家一样,手握画笔,开始你的创作了。

小猪佩奇拜大年

看过有人利用turtle花了叮当猫、皮卡丘,感觉很有趣。恰逢过年,这次带来的是用turtle绘制的小猪佩奇拜大年的源码,祝大家新年快乐。

# coding:utf-8
import turtledef nose(x, y):  # 鼻子turtle.penup()  # 提起笔turtle.goto(x, y)  # 定位turtle.pendown()  # 落笔,开始画# 将乌龟的方向设置为to_angle/为数字(0-东、90-北、180-西、270-南)turtle.setheading(-30)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.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 cheek(x, y):  # 腮# 深红色turtle.color((255, 155, 192))turtle.penup()turtle.goto(x, y)turtle.pendown()turtle.setheading(0)turtle.begin_fill()turtle.circle(25)turtle.end_fill()def mouth(x, y):  # 嘴# 保存画笔的属性pen = turtle.pen()turtle.color(239, 69, 19)turtle.penup()turtle.goto(x, y)turtle.pendown()turtle.setheading(-80)turtle.circle(30, 40)turtle.circle(40, 80)# 还原画笔属性turtle.pen(pen)def setting():  # 参数设置turtle.pensize(5)turtle.showturtle()  # 使乌龟无形(隐藏)turtle.colormode(255)  # 将其设置为1.0或255.随后 颜色三元组的r,g,b值必须在0 .. cmode范围内turtle.color((255, 155, 192), "pink")# turtle.setup(840, 1200)# 设置屏幕大小,或者比例turtle.setup(width=0.35, height=1.0)turtle.speed("normal")def init_pen():turtle.pensize(5)turtle.showturtle()# 画笔主题色# 将其设置为1.0或255.随后 颜色三元组的r,g,b值必须在0 .. cmode范围内turtle.colormode(255)turtle.color((255, 155, 192), "pink")def show_coordinate(length):"""显示 坐标系length * length 坐标系  30 * 30:return:"""turtle.penup()turtle.home()half = length // 2# 设置 朝向东turtle.setheading(0)turtle.pensize(1)turtle.color('black')# 拿起笔开始画x 轴turtle.penup()turtle.backward(half)# 放下笔turtle.down()# x 轴# turtle.forward(length)print_dot(length)# 开始画y轴turtle.penup()turtle.home()turtle.goto(0, -half)# 设置 朝向turtle.setheading(90)# 放下笔turtle.down()print_dot(length)# turtle.forward(length)def print_dot(length):""":param length:int 长度:return:"""i = 0# 标尺的 单位, 10 个像素打一个点step = 10turtle.color('black')while i <= length:turtle.forward(step)turtle.dot(3, "blue")i = i + stepdef words(x=0, y=0):"""打印文字:param x::param y::return:"""turtle.penup()turtle.goto(x, y)turtle.down()turtle.color("violet")turtle.write("小猪佩奇恭祝新年", font=('Arial', 40, 'normal'), align="center")print('write down ..')def ear(x=0, y=0):# 拿笔 走到 x,y 点上turtle.penup()turtle.goto(x, y)turtle.down()# eastturtle.setheading(0)turtle.left(70)turtle.color((255, 155, 192), "pink")turtle.begin_fill()  # 准备开始填充图形turtle.forward(40)# 画个半圆turtle.circle(15, extent=180)# 转回来走直接turtle.forward(44)pensize = turtle.pen().get('pensize')turtle.pensize(1)turtle.setposition(x, y)turtle.end_fill()# 恢复画笔的大小turtle.pensize(pensize)def right_ear(x=0, y=0):"""右边的耳朵大概 位置  (80,130):return:"""# 拿笔 走到 x,y 点上turtle.penup()turtle.goto(x, y)turtle.down()turtle.setheading(0)turtle.left(60)turtle.color((255, 155, 192), "pink")turtle.begin_fill()  # 准备开始填充图形turtle.forward(40)# 画个半圆turtle.circle(15, extent=180)# 转回来走直接turtle.forward(44)pensize = turtle.pen().get('pensize')turtle.pensize(1)turtle.setposition(x, y)turtle.end_fill()# 恢复画笔的大小turtle.pensize(pensize)def two_ears():"""两个可爱的耳朵:return:"""# 左边的耳朵ear(x=25, y=153)right_ear(x=80, y=130)def eye(x=0, y=0):turtle.penup()turtle.goto(x, y)turtle.down()# 将其设置为1.0或255.随后 颜色三元组的r,g,b值必须在0..cmode范围内turtle.colormode(255)turtle.color((255, 155, 192), "pink")# 开始画圆turtle.begin_fill()turtle.circle(15)turtle.color("white")turtle.end_fill()# 调整 里面圆的位置,画圆turtle.begin_fill()x, y = turtle.position()x, y = x + 8, y - 1# 画眼珠turtle.penup()turtle.goto(x, y)turtle.down()turtle.color("black")turtle.circle(2)turtle.end_fill()def two_eyes():"""画两个眼睛:return:"""init_pen()eye(x=0, y=130)x, y = turtle.position()# right eyeeye(x=x + 45, y=y - 20)def two_hands():"""two hands# left hand  (-25,-35)right hand (112,-30):return:"""turtle.penup()turtle.goto((-27 + 2, -35))turtle.down()# southturtle.setheading(270)turtle.right(60)# left handturtle.forward(45)turtle.backward(17)# 画第二个 手指turtle.right(45)turtle.forward(13)turtle.backward(13)# 画第三个手指turtle.setheading(270)turtle.right(15)turtle.forward(10)# right hand (112,-30)turtle.penup()turtle.goto((112, -30))turtle.down()# direction southturtle.setheading(270)turtle.left(60)turtle.forward(45)turtle.backward(17)#  # 画第二个 手指turtle.left(45)turtle.forward(13)turtle.backward(13)# 画第三个手指turtle.setheading(270)turtle.left(15)turtle.forward(10)print('two hands finished.')## turtle.penup()# turtle.home()# turtle.hideturtle()passdef leg(x=0, y=0):"""腿和 脚 一起画吧:param x::param y::return:"""# 保存画笔pen = turtle.pen()# 把比调整到x,y 点上.turtle.penup()turtle.goto(x, y)turtle.down()# turtle.hideturtle()# southturtle.setheading(270)turtle.pensize(10)turtle.forward(43)# one footturtle.color("black")turtle.pensize(1)# 开始画鞋子# westturtle.setheading(180)# 准备填充turtle.begin_fill()turtle.right(5)turtle.forward(30)turtle.circle(6, extent=188)turtle.forward(30)turtle.circle(4, extent=190)# 填充完成turtle.end_fill()# 还原画笔turtle.pen(pen)def two_legs():"""两只腿:return:"""leg(x=10, y=-137)leg(x=80, y=-137)def skirt(x=0, y=0):"""裙子 小猪佩奇的 裙子(-20,-18)left --leftmiddle----leftmiddle_second---- middle ------ right_middle_second ---right_middle  --  right画笔颜色 要深红色 , 粗细 就是主题色 就可以了.:param left: (x,y)  元祖, 一个点的x,y 坐标:return:"""# 保存画笔的属性pen = turtle.pen()# 设置颜色turtle.color("#CD0000")turtle.pensize(5)turtle.showturtle()turtle.penup()turtle.goto(x, y)turtle.down()turtle.setheading(0)turtle.left(-100)# 开始填充 裙子的颜色turtle.begin_fill()# 左边斜线1turtle.forward(120)turtle.setheading(0)# 下面直线2turtle.forward(170)turtle.left(100)# 第三条线3turtle.forward(115 + 2 + 2)# 上面一条线4turtle.setheading(180)begin = (x, y)# 脸颊 的相对中间点middle = (50, -41)# 最后一条线.. 第四条线,要找到对应的弧度, 还是有一定的难度turtle.pensize(1)# turtle.color("black")# 用粉色 可以 盖住  多边形的缺陷turtle.color((255, 155, 192), "pink")left_middle = (12, -32)left_middle_second = (18 + 5, -32 - 2 - 2)right_middle = (80, -34)right_middle_second = (67, -39)turtle.goto(*right_middle)turtle.goto(*right_middle_second)turtle.goto(*middle)turtle.goto(*left_middle_second)turtle.goto(*left_middle)turtle.goto(*begin)turtle.setheading(180)# 裙子的颜色,设置画笔的颜色turtle.color("#CD5C5C")# 填充裙子完成turtle.end_fill()# 恢复画笔turtle.pen(pen)def tail(x=0, y=0):"""tail  尾巴  (120,110):return:"""turtle.penup()turtle.goto(x, y)turtle.down()# eastturtle.setheading(0)turtle.forward(10)turtle.circle(10, extent=145)turtle.setheading(225)turtle.circle(12, 195)def main():setting()  # 画布、画笔设置nose(-100, 100)  # 鼻子head(-69, 167)  # 头# 耳朵two_ears()# 眼睛two_eyes()cheek(85, 10)  # 腮mouth(-20, 30)  # 嘴skirt(x=-20, y=-18)# 两只小手two_hands()# 尾巴tail(x=120 + 3, y=-110)# 腿和脚two_legs()words(0, -300)  # 文字# show_coordinate(600)turtle.hideturtle()turtle.done()def test_one():turtle.home()turtle.circle(50)turtle.goto(100, 100)turtle.circle(40)turtle.done()if __name__ == '__main__':main()

Python小猪佩奇来拜年相关推荐

  1. 海龟作图python小猪佩奇_python海龟做图20秒完成小猪佩奇,附源码!

    Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象.直译式电脑编程语言,也是一种功能强大的通用型语言,已经具备近二十年的发展历史,成熟且稳定.它包含了一组完善并且容易理 ...

  2. 海龟作图python小猪佩奇_有空学一学用Python画小猪佩奇

    本文来源于公众号恋习python,已经授权发布,大家可以关注下. 昨天, 被<啥是佩奇>这支广告片刷屏了. 佩奇明明是个喜剧角色, 却看哭了所有人. ▼ <啥是佩奇>??? 快 ...

  3. python小猪佩奇

    # coding: utf-8import turtle as tt.screensize(400, 300) t.pensize(4) # 设置画笔的大小 t.colormode(255) # 设置 ...

  4. Python写小猪佩奇

    Python 小猪佩奇 and anaconda 兴趣篇 大家好,这一期带给大家一个小程序.小片代码.干什么用的呢?如标题一样,写一个自动画图,画小猪佩奇! 小猪佩奇身上纹,掌声送给社会人. 题外话, ...

  5. python画小猪乔治_小猪佩奇怎样画

    python 小猪佩奇画法 # coding:utf-8 import turtle as t t.pensize(4) t.hideturtle() t.colormode(255) t.color ...

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

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

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

    基本原理 选好画板大小,设置好画笔颜色.粗细,定位好位置,依次画鼻子.头.耳朵.眼睛.腮.嘴.身体.手脚.尾巴,完事儿. 都知道,Turtle 是 Python 内置的一个比较有趣味的模块,俗称&qu ...

  8. python画圆形螺旋线_宝宝爱看小猪佩奇,很简单,让我们用python搞定它

    现在很多宝宝喜欢看小猪佩奇,今天就教大家用python的海龟画图画一个乖巧萌萌的小猪佩奇,引导对编程产生浓浓 的兴趣. 画图前引导 1.让我们打开百度,输入python进入python官网 2.在官网 ...

  9. python绘图turtle小猪_turtle作图:用turtle画一个小猪佩奇(详解!)

    之前的一篇文章大致说了一下turtle这个模块的基本操作,不知道的朋友可以去看看,真的超级简单:python:turtle作图基础. 准备用turtle来画一个网红猪--小猪佩奇. 在这之前,我们先聊 ...

最新文章

  1. Javaweb学习笔记——(五)——————DOMXML目录
  2. python学精通要多久-零基础零经验自学Python,到精通Python要多久啊?
  3. buildroot--ubootkernelrootfs全编译工具
  4. c语言 指针 pdf,深入理解c指针 PDF扫描版[33MB]
  5. scrapy使用meta在各个模块的组件之间传递数据
  6. fcntl函数与整数常量O_ACCMODE
  7. 201671030113 李星宇 《英文文本统计分析》结对项目报告
  8. php多线程webservice,PHP有适用于高并发的WebService框架嘛?
  9. arduino继电器控制风扇_Arduino 笔记 - Lab21 使用继电器控制12V风扇
  10. wg运行内存装MySQL8_搭建Mysql-proxy实现主从同步读写分离
  11. 获得当天的 零点 和 当天的最后 一秒的时刻
  12. html中document和Document的区别。
  13. html标签中的lang属性
  14. 2019.9.27,SAP成都研究院数字创新空间团队建设,射箭和游泳
  15. 6款程序员必备的免费在线画图工具,贼好用!
  16. java后台证件号15转18位
  17. colorUI框架使用教程
  18. [总结]FFMPEG视音频编解码零基础学习方法
  19. php管理varnish,php实现监控varnish缓存服务器的状态,php监控varnish缓存_PHP教程
  20. 基于java的雷电游戏系统设计与实现(项目报告+答辩PPT+源代码+部署视频)

热门文章

  1. 未来集市是什么做什么的?为什么朋友圈有那么多人在做?邀请码686040
  2. Nginx代理WebSocket方法
  3. 【校内训练2019-04-03】星际穿越
  4. 【bug】启动springboot项目报错“找不到符号”
  5. uniapp离线打包升级SDK(iOS端)
  6. C# listbox 和propertyGrid结合使用
  7. textarea换行存到数据库中的值
  8. 欧洲刑警组织最新报告提醒投资者警惕黑客和恶意挖矿软件
  9. 第十天作业:博客首页
  10. JDI3D 引擎阶段性工作总结