python turtle库完美实现小猪佩奇教程

最近沉迷于发现各种python好玩且有逼格的小项目,通过用python做一些工程量不大但趣味十足的小玩意可以提高Python学习的积极性,同时也满足自己那脆弱的虚荣心。

终于,刷出来了一篇用python画小猪佩奇的文章,点开看了之后,确认过眼神,这就是我正要找的好玩且有逼格的项目,项目主要是用turtle库,配合精妙的构图和柔美的曲线,python的强大毋庸置疑!!!

小猪佩奇身上纹,掌声送给程序人。python版的小猪佩奇不输任何网络上的小猪佩奇九步画法。

不多说,上思路:

选好画板大小,设置好画笔颜色、粗细,定位好位置,依次画鼻子、头、耳朵、眼睛、腮、嘴、身体、手脚、尾巴,很简单有没有。

至于turtle库,可以阅读公众号《Python练手项目实战》另一篇文章

代码如下

import turtle as t

t.pensize(4) # 设置画笔的大小
t.colormode(255) # 设置GBK颜色范围为0-255
t.color((255,155,192),"pink") # 设置画笔颜色和填充颜色(pink)
t.setup(840,500) # 设置主窗口的大小为840*500
t.speed(10) # 设置画笔速度为10
#鼻子
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()
#头
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()
#耳朵
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()
#眼睛
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()
#腮
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()
#嘴
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)
#身体
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()
#手
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)
#脚
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)
#尾巴
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)

成品图

pig.png

接下来,你安装好turtle库了吗?

欢迎扫码关注我们的公众号《python练手项目实战》,学习更多python技能。

  • 7
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以回答这个问题。以下是使用 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、付费专栏及课程。

余额充值