• Python 实现画一个小猪佩奇


    =====================================

    看到 佩奇的广告片刷红,为了迎接猪年,咱们也来用Python  画板实现一个效果吧

    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()

    保存为文件,然后运行!

  • 相关阅读:
    安装MySQL5.7.19 网上的文章参考 并做了部分修改
    从hadoop一路配置到spark
    java面试问题收集(2)
    JAVA的 IO NIO AIO笔记
    Shiro
    Spring注解使用注意点
    oracle RAC
    spark随笔
    Storm知识点笔记
    真机调试手机程序,电脑插上手机数据线虚拟机中的系统就死掉
  • 原文地址:https://www.cnblogs.com/yuwentao/p/10313160.html
Copyright © 2020-2023  润新知