Python:画一个小猪佩奇

本文介绍了一个使用Python的turtle模块绘制可爱卡通形象的程序。通过设置画笔属性并调用不同的函数来绘制鼻子、头部、耳朵等部位,最终完成了一个完整的卡通形象。此教程适合初学者学习如何利用turtle进行图形绘制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import turtle as t

def drowNose():
    # 配置画笔属性
    t.pensize(4)
    t.hideturtle()
    t.colormode(255)
    t.color((255, 155, 192), "pink")
    t.setup(840, 500)
    t.speed(10)

    # 绘制鼻圈
    t.pu()
    t.goto(-100, 100)
    t.pd()
    t.seth(-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)
    t.fd(25)
    t.seth(0)
    t.fd(10)
    t.pd()
    t.pencolor(255, 155, 192)
    t.seth(10)
    t.begin_fill()
    t.circle(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()


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


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


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


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)


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


def hand():
    # 绘制小手
    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 leg():
    # 绘制腿脚
    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)

def main():
    drowNose()
    head()
    ears()
    eyes()
    cheek()
    mouth()
    body()
    hand()
    leg()
    tail()

main()

 

好的,我可以回答这个问题。以下是使用 Python turtle 库绘制小猪佩奇的代码示例: ```python import turtle # 设置布大小和背景颜色 turtle.setup(800, 600) turtle.bgcolor("#F0E0D0") # 绘制小猪佩奇的头部 turtle.penup() turtle.goto(-100, 100) turtle.pendown() turtle.fillcolor("#F4CCCC") turtle.begin_fill() turtle.circle(100) turtle.end_fill() # 绘制小猪佩奇的眼睛 turtle.penup() turtle.goto(-60, 150) turtle.pendown() turtle.fillcolor("#FFFFFF") turtle.begin_fill() turtle.circle(20) turtle.end_fill() turtle.penup() turtle.goto(-60, 160) turtle.pendown() turtle.fillcolor("#000000") turtle.begin_fill() turtle.circle(10) turtle.end_fill() turtle.penup() turtle.goto(40, 150) turtle.pendown() turtle.fillcolor("#FFFFFF") turtle.begin_fill() turtle.circle(20) turtle.end_fill() turtle.penup() turtle.goto(40, 160) turtle.pendown() turtle.fillcolor("#000000") turtle.begin_fill() turtle.circle(10) turtle.end_fill() # 绘制小猪佩奇的鼻子 turtle.penup() turtle.goto(0, 100) turtle.pendown() turtle.fillcolor("#FFC0CB") turtle.begin_fill() turtle.circle(30) turtle.end_fill() # 绘制小猪佩奇的嘴巴 turtle.penup() turtle.goto(-50, 50) turtle.pendown() turtle.pensize(10) turtle.right(45) turtle.circle(70, 90) # 绘制小猪佩奇的身体 turtle.penup() turtle.goto(-150, -50) turtle.pendown() turtle.fillcolor("#F4CCCC") turtle.begin_fill() turtle.forward(300) turtle.right(90) turtle.circle(50, 180) turtle.right(90) turtle.forward(300) turtle.end_fill() # 绘制小猪佩奇的手臂 turtle.penup() turtle.goto(-150, 0) turtle.pendown() turtle.fillcolor("#F4CCCC") turtle.begin_fill() turtle.right(45) turtle.forward(100) turtle.right(90) turtle.forward(50) turtle.right(90) turtle.forward(100) turtle.right(135) turtle.forward(70) turtle.end_fill() turtle.penup() turtle.goto(150, 0) turtle.pendown() turtle.fillcolor("#F4CCCC") turtle.begin_fill() turtle.right(135) turtle.forward(100) turtle.right(90) turtle.forward(50) turtle.right(90) turtle.forward(100) turtle.right(45) turtle.forward(70) turtle.end_fill() # 绘制小猪佩奇的脚 turtle.penup() turtle.goto(-100, -150) turtle.pendown() turtle.fillcolor("#FFC0CB") turtle.begin_fill() turtle.right(45) turtle.forward(50) turtle.right(90) turtle.forward(50) turtle.right(90) turtle.forward(50) turtle.right(90) turtle.forward(50) turtle.right(135) turtle.forward(70) turtle.end_fill() turtle.penup() turtle.goto(50, -150) turtle.pendown() turtle.fillcolor("#FFC0CB") turtle.begin_fill() turtle.right(135) turtle.forward(50) turtle.right(90) turtle.forward(50) turtle.right(90) turtle.forward(50) turtle.right(90) turtle.forward(50) turtle.right(45) turtle.forward(70) turtle.end_fill() # 隐藏笔 turtle.hideturtle() # 显示绘制结果 turtle.done() ``` 运行上述代码,即可在 Turtle 图形窗口中看到绘制的小猪佩奇
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值