zoukankan      html  css  js  c++  java
  • python告诉你啥是佩奇

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

    佩奇明明是个喜剧角色,

    但是看哭了所有人。

    《啥是佩奇》???

    效果图如下:

    # -*- coding:utf-8 -*-
    
    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 body(x,y):#身体
        color("red",(255,99,71))
        penup()
        goto(x,y)
        pendown()
        begin_fill()
        setheading(-130)
        circle(100,10)
        circle(300,30)
        setheading(0)
        forward(230)
        setheading(90)
        circle(300,30)
        circle(100,3)
        color((255,155,192),(255,100,100))
        setheading(-135)
        circle(-80,63)
        circle(-150,24)
        end_fill()
    
    
    def hands(x,y):#
        color((255,155,192))
        penup()
        goto(x,y)
        pendown()
        setheading(-160)
        circle(300,15)
        penup()
        setheading(90)
        forward(15)
        setheading(0)
        forward(0)
        pendown()
        setheading(-10)
        circle(-20,90)
    
        penup()
        setheading(90)
        forward(30)
        setheading(0)
        forward(237)
        pendown()
        setheading(-20)
        circle(-300,15)
        penup()
        setheading(90)
        forward(20)
        setheading(0)
        forward(0)
        pendown()
        setheading(-170)
        circle(20,90)
    
    def foot(x,y):#
        pensize(10)
        color((240,128,128))
        penup()
        goto(x,y)
        pendown()
        setheading(-90)
        forward(40)
        setheading(-180)
        color("black")
        pensize(15)
        fd(20)
    
        pensize(10)
        color((240,128,128))
        penup()
        setheading(90)
        forward(40)
        setheading(0)
        forward(90)
        pendown()
        setheading(-90)
        forward(40)
        setheading(-180)
        color("black")
        pensize(15)
        fd(20)
    
    def tail(x,y):#尾巴
        pensize(4)
        color((255,155,192))
        penup()
        goto(x,y)
        pendown()
        seth(0)
        circle(70,20)
        circle(10,330)
        circle(70,30)
    
    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)       #
        body(-32,-8)        #身体
        hands(-56,-45)      #
        foot(2,-177)        #
        tail(148,-155)      #尾巴
        done()
    
    if __name__ == '__main__':
        main()

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

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

     参与文章:https://www.jianshu.com/p/d1f75fb55bb8

  • 相关阅读:
    中位数
    two-strings-are-anagrams&&compare-strings&&longest-words
    第三次作业-------结对编程
    Git的基本使用方法和安装&心得体会(使用git命令行)
    第二次作业-----------结对项目之需求分析与原型设计
    使用Git进行代码管理心得------------个人练习
    Android开发环境的发展演变
    软件工程的实践项目的自我目标
    QT实现2048
    poj3723 Conscription
  • 原文地址:https://www.cnblogs.com/pychina/p/10293750.html
Copyright © 2011-2022 走看看