【python】画佩奇代码

from turtle import *

 

def drawNose(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 drawHead(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 drawEars(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 drawEyes(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 drawCheek(x, y):  # 腮

    color((255, 155, 192))

    penup()

    goto(x, y)

    pendown()

    setheading(0)

    begin_fill()

    circle(30)

    end_fill()

 

 

def drawMouth(x, y):  # 嘴

    color(239, 69, 19)

    penup()

    goto(x, y)

    pendown()

    setheading(-80)

    circle(30, 40)

    circle(40, 80)

 

 

def drawBody(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 drawHands(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 drawFoot(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 drawTail(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 main():

    # 画布、画笔设置

    pensize(4)

    hideturtle()  # 使乌龟无形(隐藏)

    colormode(255)  # 将其设置为1.0或255.随后 颜色三元组的r,g,b值必须在0 .. cmode范围内

    color((255, 155, 192), "pink")

    setup(840, 500)

    speed(0)

 

    drawNose(-100, 100)  # 鼻子

    drawHead(-69, 167)  # 头

    drawEars(0, 160)  # 耳朵

    drawEyes(0, 140)  # 眼睛

    drawCheek(80, 10)  # 腮

    drawMouth(-20, 30)  # 嘴

    drawBody(-32, -8)  # 身体

    drawHands(-56, -45)  # 手

    drawFoot(2, -177)  # 脚

    drawTail(148, -155)  # 尾巴

    done()

 

 

if __name__ == '__main__':

        main()

结果

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值