python告诉你啥是佩奇——用py画社会猪

这两天,视频短片《啥是佩奇》火了。短片讲述一名农村老大爷因为孙子春节想要佩奇,大费周章才搞清啥是佩奇,最终还用鼓风机做了一个粗糙又质朴可爱的佩奇,爱心满满。
鼓风机能做佩奇,万能的py当然可以,今天我们来用py做一个社会猪——小猪佩奇
废话不多说,首先初始化

# coding:utf-8
import turtle as t
t.pensize(4) # 设置画笔的大小
t.colormode(255) # 设置GBK颜色范围为0-255
t.color((255,155,192),"pink") # 设置画笔颜色和填充颜色(pink)
t.setup(500,500) # 设置主窗口的大小为840*500
t.speed(10) # 设置画笔速度为10
  1. 作为社会猪,当然是先画鼻子
def nose():#鼻子
    t.pu() # 提笔
    t.goto(-100,100) # 画笔前往坐标(-100,100)
    t.pd() # 下笔
    t.seth(-30) # 笔的角度为-30°
    t.begin_fill() # 外形填充的开始标志
    a=0.4
    for i in range(120):
        if 0<=i<30 or 60<=i<90:
            a=a+0.08
            t.lt(3) #向左转3度
            t.fd(a) #向前走a的步长
        else:
            a=a-0.08
            t.lt(3)
            t.fd(a)
    t.end_fill() # 依据轮廓填充
    t.pu() # 提笔
    t.seth(90) # 笔的角度为90度
    t.fd(25) # 向前移动25
    t.seth(0) # 转换画笔的角度为0
    t.fd(10)
    t.pd()
    t.pencolor(255,155,192) # 设置画笔颜色
    t.seth(10)
    t.begin_fill()
    t.circle(5) # 画一个半径为5的圆
    t.color(160,82,45) # 设置画笔和填充颜色
    t.end_fill()
    t.pu()
    t.seth(0)
    t.fd(20)
    t.pd()
    t.pencolor(255,155,192)
    t.seth(10)
    t.begin_fill()
    t.circle(5)
    t.color(160,82,45)
    t.end_fill()
  1. 然后是鼓风机做成的头
    在这里插入图片描述
def head():
    #头
    t.color((255,155,192),"pink")
    t.pu()
    t.seth(90)
    t.fd(41)
    t.seth(0)
    t.fd(0)
    t.pd()
    t.begin_fill()
    t.seth(180)
    t.circle(300,-30) # 顺时针画一个半径为300,圆心角为30°的园
    t.circle(100,-60)
    t.circle(80,-100)
    t.circle(150,-20)
    t.circle(60,-95)
    t.seth(161)
    t.circle(-300,15)
    t.pu()
    t.goto(-100,100)
    t.pd()
    t.seth(-30)
    a=0.4
    for i in range(60):
            if 0<=i<30 or 60<=i<90:
                 a=a+0.08
                 t.lt(3) #向左转3度
                 t.fd(a) #向前走a的步长
            else:
                 a=a-0.08
                 t.lt(3)
                 t.fd(a)
    t.end_fill()
  1. 不要忘了耳朵
    在这里插入图片描述
def ears():
    #耳朵
    t.color((255,155,192),"pink")
    t.pu()
    t.seth(90)
    t.fd(-7)
    t.seth(0)
    t.fd(70)
    t.pd()
    t.begin_fill()
    t.seth(100)
    t.circle(-50,50)
    t.circle(-10,120)
    t.circle(-50,54)
    t.end_fill()
    t.pu()
    t.seth(90)
    t.fd(-12)
    t.seth(0)
    t.fd(30)
    t.pd()
    t.begin_fill()
    t.seth(100)
    t.circle(-50,50)
    t.circle(-10,120)
    t.circle(-50,56)
    t.end_fill()
  1. 眼睛

在这里插入图片描述

def eyes():
    #眼睛
    t.color((255,155,192),"white")
    t.pu()
    t.seth(90)
    t.fd(-20)
    t.seth(0)
    t.fd(-95)
    t.pd()
    t.begin_fill()
    t.circle(15)
    t.end_fill()
    t.color("black")
    t.pu()
    t.seth(90)
    t.fd(12)
    t.seth(0)
    t.fd(-3)
    t.pd()
    t.begin_fill()
    t.circle(3)
    t.end_fill()
    t.color((255,155,192),"white")
    t.pu()
    t.seth(90)
    t.fd(-25)
    t.seth(0)
    t.fd(40)
    t.pd()
    t.begin_fill()
    t.circle(15)
    t.end_fill()
    t.color("black")
    t.pu()
    t.seth(90)
    t.fd(12)
    t.seth(0)
    t.fd(-3)
    t.pd()
    t.begin_fill()
    t.circle(3)
    t.end_fill()

  1. 在这里插入图片描述
def cheek():
    #腮
    t.color((255,155,192))
    t.pu()
    t.seth(90)
    t.fd(-95)
    t.seth(0)
    t.fd(65)
    t.pd()
    t.begin_fill()
    t.circle(30)
    t.end_fill()

在这里插入图片描述

这里是空白!

在这里插入图片描述

def mouth():
    #嘴
    t.color(239,69,19)
    t.pu()
    t.seth(90)
    t.fd(15)
    t.seth(0)
    t.fd(-100)
    t.pd()
    t.seth(-80)
    t.circle(30,40)
    t.circle(40,80)
  1. 身体
    在这里插入图片描述
def body():
   #身体
   t.color("red",(255,99,71))
   t.pu()
   t.seth(90)
   t.fd(-20)
   t.seth(0)
   t.fd(-78)
   t.pd()
   t.begin_fill()
   t.seth(-130)
   t.circle(100,10)
   t.circle(300,30)
   t.seth(0)
   t.fd(230)
   t.seth(90)
   t.circle(300,30)
   t.circle(100,3)
   t.color((255,155,192),(255,100,100))
   t.seth(-135)
   t.circle(-80,63)
   t.circle(-150,24)
   t.end_fill()
  1. 最后手,脚,尾巴一起画吧
    在这里插入图片描述
def hands():
    #手
    t.color((255,155,192))
    t.pu()
    t.seth(90)
    t.fd(-40)
    t.seth(0)
    t.fd(-27)
    t.pd()
    t.seth(-160)
    t.circle(300,15)
    t.pu()
    t.seth(90)
    t.fd(15)
    t.seth(0)
    t.fd(0)
    t.pd()
    t.seth(-10)
    t.circle(-20,90)
    t.pu()
    t.seth(90)
    t.fd(30)
    t.seth(0)
    t.fd(237)
    t.pd()
    t.seth(-20)
    t.circle(-300,15)
    t.pu()
    t.seth(90)
    t.fd(20)
    t.seth(0)
    t.fd(0)
    t.pd()
    t.seth(-170)
    t.circle(20,90)
def feet():
    #脚
    t.pensize(10)
    t.color((240,128,128))
    t.pu()
    t.seth(90)
    t.fd(-75)
    t.seth(0)
    t.fd(-180)
    t.pd()
    t.seth(-90)
    t.fd(40)
    t.seth(-180)
    t.color("black")
    t.pensize(15)
    t.fd(20)
    t.pensize(10)
    t.color((240,128,128))
    t.pu()
    t.seth(90)
    t.fd(40)
    t.seth(0)
    t.fd(90)
    t.pd()
    t.seth(-90)
    t.fd(40)
    t.seth(-180)
    t.color("black")
    t.pensize(15)
    t.fd(20)
def tail():
    #尾巴
    t.pensize(4)
    t.color((255,155,192))
    t.pu()
    t.seth(90)
    t.fd(70)
    t.seth(0)
    t.fd(95)
    t.pd()
    t.seth(0)
    t.circle(70,20)
    t.circle(10,330)
    t.circle(70,30)
  1. 大功告成!主程序

在这里插入图片描述

def Peppa_Pig():
    nose()
    head() 
    ears()
    eyes() 
    cheek()
    mouth()
    body()
    hands() 
    feet()
    tail()
   
Peppa_Pig()

划重点!py的turtle函数画笔是连续的,因此画的顺序不能变,鼻子必须先画,不然运行出来不是佩奇,是四不像
来看看效果图,惊不惊喜意不意外!
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/JAck_chen0309/article/details/86555535
今日推荐