turtle安装以及python3安装报错解决方案,用python画小猪佩奇

前言

turtle(海龟库)是python的一个绘制图像的函数库,它就像海龟一样,给定指令和坐标,在画布坐标系中一步一步绘制出你想要的图形,比如小猪佩奇、哆啦A梦、皮卡丘等。

                   

                   

安装

看着这么多卡通图形,博主就安奈不住自己想要安装尝试绘制卡通图,python3.6环境中输入了万能安装指令pip

pip install turtle

结果竟然失败了,报错如下

C:\Users\XXX>pip install turtle
Collecting turtle
  Downloading https://files.pythonhosted.org/packages/ff/f0/21a42e9e424d24bdd0e509d5ed3c7dfb8f47d962d9c044dba903b0b4a26f/turtle-0.0.2.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\XXX\AppData\Local\Temp\pip-install-qm1_x9jy\turtle\setup.py", line 40
        except ValueError, ve:
                         ^
    SyntaxError: invalid syntax

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in C:\Users\XXX\AppData\Local\Temp\pip-install-qm1_x9jy\turtle\

 提示语法错误

先按照给定的tar.gz函数包的下载链接输入浏览器进行下载(每个人可能不一样)

https://files.pythonhosted.org/packages/ff/f0/21a42e9e424d24bdd0e509d5ed3c7dfb8f47d962d9c044dba903b0b4a26f/turtle-0.0.2.tar.gz

然后,解压压缩包成文件夹,打开其中的setup.py

 修改第40行代码如下(其实就是增加了括号,python2的语法格式是没有括号的,但是python3没有括号就会报错,就像print函数)

except (ValueError, ve):

 

修改好之后,再用pip安装,此处 pip install 后面接的是你修改好的turtle文件夹所在位置

pip install C:\Users\XXX\Desktop\turtle-0.0.2

 

显示安装成功,下面测试一下是否可用, 进入python3环境,输入

import turtle

无报错,证明安装成功。

Turtle库基础知识

1.画布(canvas)

画布就是turtle为我们展开用于绘图区域默认大小(400, 300),我们可以设置它的大小和初始位置。

2.画笔(pen)

2.1画笔的状态

在画布上,默认有一个坐标原点为画布中心的坐标轴,坐标原点上有一只面朝x轴正方向小乌龟。这里我们描述小乌龟时使用了两个词语:坐标原点(位置),面朝x轴正方向(方向), turtle绘图中,就是使用位置方向描述小乌龟(画笔)的状态。

2.2 画笔的属性

画笔(画笔的属性,颜色、画线的宽度等)

  • turtle.pensize():设置画笔的宽度;
  • turtle.pencolor():没有参数传入,返回当前画笔颜色,传入参数设置画笔颜色,可以是字符串如"green", "red",也可以是RGB 3元组。
  • turtle.speed(speed):设置画笔移动速度,画笔绘制的速度范围[0,10]整数,数字越大越快。

2.3 绘图命令

操纵海龟绘图有着许多的命令,这些命令可以划分为3种:一种为运动命令,一种为画笔控制命令,还有一种是全局控制命令。

2.3.1 画笔运动命令:

命令说明
turtle.home()将turtle移动到起点(0,0)和向东
turtle.speed(speed)画笔绘制的速度范围[0,10]整数
turtle.forward(distance)向当前画笔方向移动distance像素长
turtle.backward(distance)向当前画笔相反方向移动distance像素长度
turtle.right(degree)顺时针移动degree°
turtle.left(degree)逆时针移动degree°
turtle.pendown()移动时绘制图形放下笔,,默认绘制
turtle.penup()移动时不绘制图形,提起笔,用于另起一个地方绘制时用
turtle.circle(r,extent,step)绘制一个指定半径、弧度范围、阶数(正多边形)的圆
turtle.dot(diameter,color)绘制一个指定直径和颜色的圆

2.3.2 画笔控制命令:

命令说明
turtle.pencolor()画笔颜色
turtle.pensize(width)画笔宽度(绘制图形时的宽度)
turtle.color(color1, color2)同时设置pencolor=color1, fillcolor=color2
turtle.filling()返回当前是否在填充状态
turtle.begin_fill()准备开始填充图形
turtle.end_fill()填充完成
turtle.hideturtle()隐藏画笔的turtle形状
turtle.showturtle()显示画笔的turtle形状

2.3.3 全局控制命令

命令说明
turtle.clear()清空turtle窗口,但是turtle的位置和状态不会改变
turtle.reset()清空窗口,重置turtle状态为起始状态
turtle.undo()取消最后一个图的操作
turtle.isvisible()返回当前turtle是否可见
turtle.stamp()复制当前图形
turtle.write(s, [font=("font-name",font_size,"font_type")])写文本,s为文本内容,font是字体的参数,分别为字体名称,大小和类型;font为可选项,font参数也是可选项

2.2.3其他命令

命令说明
turtle.mainloop()或turtle.done()启动事件循环 -调用Tkinter的mainloop函数。必须是乌龟图形程序中的最后一个语句。
turtle.mode(mode=None)设置乌龟模式(“standard”,“logo(向北或向上)”或“world()”)并执行重置。如果没有给出模式,则返回当前模式。
turtle.undo()取消最后一个图的操作
turtle.isvisible()返回当前turtle是否可见
turtle.stamp()复制当前图形
turtle.write(s, [font=("font-name",font_size,"font_type")])

写文本,s为文本内容,font是字体的参数,分别为字体名称,大小和类型;font为可选项,font参数也是可选项

 

绘图实例

接下来尝试一下绘制卡通图形。

小猪佩奇

import turtle as t
 
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()
 
#头
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()
 
#耳朵
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)
t.done()

哆啦A梦

import turtle
 
 
def flyTo(x, y):
    turtle.penup()
    turtle.goto(x, y)
    turtle.pendown()
 
 
def drawEye():
    turtle.tracer(False)
    a = 2.5
    for i in range(120):
        if 0 <= i < 30 or 60 <= i < 90:
            a -= 0.05
        else:
            a += 0.05
        turtle.left(3)
        turtle.fd(a)
    turtle.tracer(True)
 
 
def beard():
    """ 画胡子, 一共六根
    """
    # 左边第一根胡子
    flyTo(-37, 135)
    turtle.seth(165)
    turtle.fd(60)
 
    # 左边第二根胡子
    flyTo(-37, 125)
    turtle.seth(180)
    turtle.fd(60)
 
    # 左边第三根胡子
    flyTo(-37, 115)
    turtle.seth(193)
    turtle.fd(60)
 
    # 右边第一根胡子
    flyTo(37, 135)
    turtle.seth(15)
    turtle.fd(60)
 
    # 右边第二根胡子
    flyTo(37, 125)
    turtle.seth(0)
    turtle.fd(60)
 
    # 右边第三根胡子
    flyTo(37, 115)
    turtle.seth(-13)
    turtle.fd(60)
 
 
def drawRedScarf():
    """ 画围巾
    """
    turtle.fillcolor("red")  # 填充颜色
    turtle.begin_fill()
    turtle.seth(0)  # 朝向右
 
    turtle.fd(200)  # 前进10个单位
    turtle.circle(-5, 90)
 
    turtle.fd(10)
    turtle.circle(-5, 90)
 
    turtle.fd(207)
    turtle.circle(-5, 90)
 
    turtle.fd(10)
    turtle.circle(-5, 90)
 
    turtle.end_fill()
 
 
def drawMouse():
    flyTo(5, 148)
    turtle.seth(270)
    turtle.fd(100)
    turtle.seth(0)
    turtle.circle(120, 50)
    turtle.seth(230)
    turtle.circle(-120, 100)
 
 
def drawRedNose():
    flyTo(-10, 158)
    turtle.fillcolor("red")  # 填充颜色
    turtle.begin_fill()
    turtle.circle(20)
    turtle.end_fill()
 
 
def drawBlackdrawEye():
    turtle.seth(0)
    flyTo(-20, 195)
    turtle.fillcolor("#000000")  # 填充颜色
    turtle.begin_fill()
    turtle.circle(13)
    turtle.end_fill()
    turtle.pensize(6)
    flyTo(20, 205)
    turtle.seth(75)
    turtle.circle(-10, 150)
    turtle.pensize(3)
    flyTo(-17, 200)
    turtle.seth(0)
    turtle.fillcolor("#ffffff")
    turtle.begin_fill()
    turtle.circle(5)
    turtle.end_fill()
    flyTo(0, 0)
 
 
def drawFace():
    """
    """
    turtle.forward(183)  # 前行183个单位
    turtle.fillcolor("white")  # 填充颜色为白色
    turtle.begin_fill()  # 开始填充
    turtle.left(45)  # 左转45度
    turtle.circle(120, 100)  # 右边那半边脸
    turtle.seth(90)  # 朝向向上
    drawEye()  # 画右眼睛
    turtle.seth(180)  # 朝向左
    turtle.penup()  # 抬笔
    turtle.fd(60)  # 前行60
    turtle.pendown()  # 落笔
    turtle.seth(90)  # 朝向上
    drawEye()  # 画左眼睛
    turtle.penup()  # 抬笔
    turtle.seth(180)  # 朝向左
    turtle.fd(64)  # 前进64
    turtle.pendown()  # 落笔
    turtle.seth(215)  # 修改朝向
    turtle.circle(120, 100)  # 左边那半边脸
    turtle.end_fill()  #
 
 
def drawHead():
    """ 画了一个被切掉下半部分的圆
    """
    turtle.penup()  # 抬笔
    turtle.circle(150, 40)  # 画圆, 半径150,圆周角40
    turtle.pendown()  # 落笔
    turtle.fillcolor("#00a0de")  # 填充色
    turtle.begin_fill()  # 开始填充
    turtle.circle(150, 280)  # 画圆,半径150, 圆周角280
    turtle.end_fill()
 
 
def drawAll():
    drawHead()
    drawRedScarf()
    drawFace()
    drawRedNose()
    drawMouse()
    beard()
    flyTo(0, 0)
    turtle.seth(0)
    turtle.penup()
    turtle.circle(150, 50)
    turtle.pendown()
    turtle.seth(30)
    turtle.fd(40)
    turtle.seth(70)
    turtle.circle(-30, 270)
    turtle.fillcolor("#00a0de")
    turtle.begin_fill()
    turtle.seth(230)
    turtle.fd(80)
    turtle.seth(90)
    turtle.circle(1000, 1)
    turtle.seth(-89)
    turtle.circle(-1000, 10)
    turtle.seth(180)
    turtle.fd(70)
    turtle.seth(90)
    turtle.circle(30, 180)
    turtle.seth(180)
    turtle.fd(70)
    turtle.seth(100)
    turtle.circle(-1000, 9)
    turtle.seth(-86)
    turtle.circle(1000, 2)
    turtle.seth(230)
    turtle.fd(40)
    turtle.circle(-30, 230)
    turtle.seth(45)
    turtle.fd(81)
    turtle.seth(0)
    turtle.fd(203)
    turtle.circle(5, 90)
    turtle.fd(10)
    turtle.circle(5, 90)
    turtle.fd(7)
    turtle.seth(40)
    turtle.circle(150, 10)
    turtle.seth(30)
    turtle.fd(40)
    turtle.end_fill()
 
    # 左手
    turtle.seth(70)
    turtle.fillcolor("#FFFFFF")
    turtle.begin_fill()
    turtle.circle(-30)
    turtle.end_fill()
 
    # 脚
    flyTo(103.74, -182.59)
    turtle.seth(0)
    turtle.fillcolor("#FFFFFF")
    turtle.begin_fill()
    turtle.fd(15)
    turtle.circle(-15, 180)
    turtle.fd(90)
    turtle.circle(-15, 180)
    turtle.fd(10)
    turtle.end_fill()
    flyTo(-96.26, -182.59)
    turtle.seth(180)
    turtle.fillcolor("#FFFFFF")
    turtle.begin_fill()
    turtle.fd(15)
    turtle.circle(15, 180)
    turtle.fd(90)
    turtle.circle(15, 180)
    turtle.fd(10)
    turtle.end_fill()
 
    # 右手
    flyTo(-133.97, -91.81)
    turtle.seth(50)
    turtle.fillcolor("#FFFFFF")
    turtle.begin_fill()
    turtle.circle(30)
    turtle.end_fill()
 
    # 口袋
    flyTo(-103.42, 15.09)
    turtle.seth(0)
    turtle.fd(38)
    turtle.seth(230)
    turtle.begin_fill()
    turtle.circle(90, 260)
    turtle.end_fill()
    flyTo(5, -40)
    turtle.seth(0)
    turtle.fd(70)
    turtle.seth(-90)
    turtle.circle(-70, 180)
    turtle.seth(0)
    turtle.fd(70)
 
    # 铃铛
    flyTo(-103.42, 15.09)
    turtle.fd(90)
    turtle.seth(70)
    turtle.fillcolor("#ffd200")
    turtle.begin_fill()
    turtle.circle(-20)
    turtle.end_fill()
    turtle.seth(170)
    turtle.fillcolor("#ffd200")
    turtle.begin_fill()
    turtle.circle(-2, 180)
    turtle.seth(10)
    turtle.circle(-100, 22)
    turtle.circle(-2, 180)
    turtle.seth(180 - 10)
    turtle.circle(100, 22)
    turtle.end_fill()
    flyTo(-13.42, 15.09)
    turtle.seth(250)
    turtle.circle(20, 110)
    turtle.seth(90)
    turtle.fd(15)
    turtle.dot(10)
    flyTo(0, -150)
    drawBlackdrawEye()
 
 
def main():
    turtle.screensize(800, 6000, "#F0F0F0")
    turtle.pensize(3)
    turtle.speed(9)
    drawAll()
 
 
if __name__ == "__main__":
    main()
    turtle.mainloop()

更多turtle代码请参考github项目地址

https://github.com/KaguraTyan/turtle

 

  • 24
    点赞
  • 90
    收藏
    觉得还不错? 一键收藏
  • 18
    评论
### 回答1: 好的,下面是用Pythonturtle小猪佩奇的代码: ```python import turtle # 设置布大小和背景颜色 turtle.setup(800, 600) turtle.bgcolor('#FBD2D7') # 小猪佩奇的头 turtle.penup() turtle.goto(-100, 100) turtle.pendown() turtle.fillcolor('#F5A9BC') turtle.begin_fill() turtle.circle(100) turtle.end_fill() # 小猪佩奇的耳朵 turtle.penup() turtle.goto(-160, 180) turtle.pendown() turtle.fillcolor('#F5A9BC') turtle.begin_fill() turtle.right(45) turtle.circle(70, -90) turtle.right(180) turtle.circle(70, -90) turtle.end_fill() turtle.penup() turtle.goto(60, 180) turtle.pendown() turtle.fillcolor('#F5A9BC') turtle.begin_fill() turtle.right(180) turtle.circle(70, -90) turtle.right(45) turtle.circle(70, -90) turtle.end_fill() # 小猪佩奇的眼睛 turtle.penup() turtle.goto(-50, 180) turtle.pendown() turtle.fillcolor('white') turtle.begin_fill() turtle.circle(30) turtle.end_fill() turtle.penup() turtle.goto(50, 180) turtle.pendown() turtle.fillcolor('white') turtle.begin_fill() turtle.circle(30) turtle.end_fill() turtle.penup() turtle.goto(-40, 200) turtle.pendown() turtle.fillcolor('black') turtle.begin_fill() turtle.circle(10) turtle.end_fill() turtle.penup() turtle.goto(60, 200) turtle.pendown() turtle.fillcolor('black') turtle.begin_fill() turtle.circle(10) turtle.end_fill() # 小猪佩奇的鼻子 turtle.penup() turtle.goto(, 120) turtle.pendown() turtle.fillcolor('#FFA07A') turtle.begin_fill() turtle.circle(30) turtle.end_fill() # 小猪佩奇的嘴巴 turtle.penup() turtle.goto(-60, 80) turtle.pendown() turtle.pensize(10) turtle.right(45) turtle.forward(80) turtle.right(180) turtle.circle(40, -90) # 小猪佩奇的身体 turtle.penup() turtle.goto(-100, -100) turtle.pendown() turtle.fillcolor('#F5A9BC') turtle.begin_fill() turtle.right(135) turtle.forward(200) turtle.right(90) turtle.circle(100, -180) turtle.right(90) turtle.forward(200) turtle.end_fill() # 小猪佩奇的手 turtle.penup() turtle.goto(-200, ) turtle.pendown() turtle.fillcolor('#F5A9BC') turtle.begin_fill() turtle.right(180) turtle.circle(50, -90) turtle.right(180) turtle.circle(50, -90) turtle.end_fill() turtle.penup() turtle.goto(100, ) turtle.pendown() turtle.fillcolor('#F5A9BC') turtle.begin_fill() turtle.right(180) turtle.circle(50, -90) turtle.right(180) turtle.circle(50, -90) turtle.end_fill() # 小猪佩奇的脚 turtle.penup() turtle.goto(-80, -200) turtle.pendown() turtle.fillcolor('#F5A9BC') turtle.begin_fill() turtle.right(180) turtle.circle(50, -90) turtle.right(180) turtle.circle(50, -90) turtle.end_fill() turtle.penup() turtle.goto(20, -200) turtle.pendown() turtle.fillcolor('#F5A9BC') turtle.begin_fill() turtle.right(180) turtle.circle(50, -90) turtle.right(180) turtle.circle(50, -90) turtle.end_fill() # 隐藏turtle.hideturtle() # 等待用户关闭窗口 turtle.done() ``` 运行代码后,会弹出一个窗口,里面小猪佩奇的图案。希望能对你有所帮助! ### 回答2: Python是一种流行的编程语言,可以用它来制作有趣的图形和动。使用Python中的“turtle”模块,您可以利用基本图形命令,如前进、后退、左右转向等,来绘制简单的矢量图形。 当我们想要通过Python绘制小猪佩奇时,我们需要考虑它的外观特征和各种元素,例如耳朵、面部表情、身体、四条腿和尾巴等。我们可以使用一些基本的几何形状,如圆形、矩形和三角形来绘制这些元素。 首先,我们需要导入turtle模块,以便绘制我们的小猪佩奇。接下来,我们可以使用circle()函数来绘制小猪佩奇的头部、身体和尾巴,并使用polygon()函数来绘制它的耳朵和脚。 为了让小猪佩奇看起来更加真实,我们还需要绘制它的面部表情。我们可以使用circle()函数来绘制眼睛和脸颊,并使用polygon()函数来绘制嘴巴。最后,我们可以添加一些文本,如“Peppa Pig”来说明这是一幅小猪佩奇的图像。 以下是一个示例代码,用来绘制小猪佩奇: ``` python import turtle # 绘制小猪佩奇的头部 turtle.penup() turtle.goto(-80, 80) turtle.pendown() turtle.fillcolor("pink") turtle.begin_fill() turtle.circle(80) turtle.end_fill() # 绘制小猪佩奇的耳朵 turtle.penup() turtle.goto(-70, 145) turtle.pendown() turtle.fillcolor("lightpink") turtle.begin_fill() turtle.right(45) turtle.circle(60, -90) turtle.right(180) turtle.circle(60, -90) turtle.end_fill() # 绘制小猪佩奇的身体 turtle.penup() turtle.goto(0, 0) turtle.pendown() turtle.fillcolor("pink") turtle.begin_fill() turtle.right(135) turtle.forward(150) turtle.right(45) turtle.circle(100, 180) turtle.right(45) turtle.forward(150) turtle.end_fill() # 绘制小猪佩奇的尾巴 turtle.penup() turtle.goto(85, -10) turtle.pendown() turtle.fillcolor("pink") turtle.begin_fill() turtle.right(135) turtle.circle(30, -180) turtle.right(180) turtle.circle(30, -180) turtle.end_fill() # 绘制小猪佩奇的四条腿 turtle.penup() turtle.goto(-25, -10) turtle.pendown() turtle.fillcolor("lightpink") turtle.begin_fill() turtle.right(180) turtle.forward(50) turtle.right(90) turtle.forward(25) turtle.right(90) turtle.forward(50) turtle.right(90) turtle.forward(25) turtle.end_fill() turtle.penup() turtle.goto(25, -10) turtle.pendown() turtle.fillcolor("lightpink") turtle.begin_fill() turtle.right(180) turtle.forward(50) turtle.right(90) turtle.forward(25) turtle.right(90) turtle.forward(50) turtle.right(90) turtle.forward(25) turtle.end_fill() # 绘制小猪佩奇的面部表情 turtle.penup() turtle.goto(-40, 60) turtle.pendown() turtle.fillcolor("white") turtle.begin_fill() turtle.circle(15) turtle.end_fill() turtle.penup() turtle.goto(40, 60) turtle.pendown() turtle.fillcolor("white") turtle.begin_fill() turtle.circle(15) turtle.end_fill() turtle.penup() turtle.goto(-20, 45) turtle.pendown() turtle.fillcolor("black") turtle.begin_fill() turtle.circle(5) turtle.end_fill() turtle.penup() turtle.goto(20, 45) turtle.pendown() turtle.fillcolor("black") turtle.begin_fill() turtle.circle(5) turtle.end_fill() turtle.penup() turtle.goto(0, 10) turtle.pendown() turtle.width(5) turtle.right(90) turtle.forward(20) turtle.penup() turtle.goto(0, 10) turtle.pendown() turtle.right(-90) turtle.forward(50) # 添加文本 turtle.penup() turtle.goto(-30, -50) turtle.pendown() turtle.write("Peppa Pig", font=("Arial", 16, "normal")) # 隐藏turtle.hideturtle() # 点击窗口关闭程序 turtle.exitonclick() ``` 这段代码将在布上创建一个小猪佩奇的图像。使用turtle来绘制图像,不仅可以锻炼我们的编程技能,还可以增强我们对几何形状和矢量图形的理解。 ### 回答3: 小猪佩奇是一只非常可爱的卡通形象,而Pythonturtle可以用来图,在这里也可以用来小猪佩奇。 首先,我们需要导入turtle,可以使用以下语句: ```python import turtle ``` 接着,我们可以使用turtle中的各种方法来图形。在小猪佩奇时,需要用到的方法包含: - 圆方法circle() - 线方法forward() - 角度方法right()和left() - 填充颜色的方法begin_fill()和end_fill() - 涂色方法fillcolor() 下面给出一个小猪佩奇的代码示例: ```python # 导入turtle import turtle # 小猪佩奇的身体 turtle.penup() turtle.goto(-100,0) turtle.pendown() turtle.fillcolor("#FDD7E4") turtle.begin_fill() turtle.circle(100) turtle.end_fill() # 小猪佩奇的鼻子 turtle.penup() turtle.goto(-30,80) turtle.pendown() turtle.fillcolor("#FF6F52") turtle.begin_fill() turtle.circle(30) turtle.end_fill() # 小猪佩奇的眼睛 turtle.penup() turtle.goto(-70,120) turtle.pendown() turtle.fillcolor("#ffffff") turtle.begin_fill() turtle.circle(18) turtle.end_fill() turtle.penup() turtle.goto(-50,130) turtle.pendown() turtle.fillcolor("#000000") turtle.begin_fill() turtle.circle(8) turtle.end_fill() turtle.penup() turtle.goto(20,120) turtle.pendown() turtle.fillcolor("#ffffff") turtle.begin_fill() turtle.circle(18) turtle.end_fill() turtle.penup() turtle.goto(40,130) turtle.pendown() turtle.fillcolor("#000000") turtle.begin_fill() turtle.circle(8) turtle.end_fill() # 小猪佩奇的嘴巴 turtle.penup() turtle.goto(-80,40) turtle.pendown() turtle.right(45) turtle.forward(60) turtle.right(90) turtle.forward(60) turtle.hideturtle() # 隐藏turtle.done() # 结束绘制 ``` 代码中,我们首先用penup()和goto()方法将笔的位置移动到小猪佩奇身体的图起始点,接着用pendown()方法开始绘制身体,使用circle()方法出身体,fillcolor()方法填充颜色,并用begin_fill()和end_fill()方法将填充效果应用到身体上。接着出鼻子、眼睛和嘴巴,最后隐藏笔,调用done()方法结束绘制。 用turtle绘制小猪佩奇,除了以上示例之外,还可以根据自己的审美偏好添加一些细节,使出的小猪佩奇更加精彩。
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值