• Python3.6安装turtle模块


    安装turtle提示错误:Command "python setup.py egg_info" failed with error code 1

    仔细查看安装turtle出错的错误信息,可以看到是个语法错误。

    pip在下载turtle 0.0.2包后,会解压到本地再安装,提示的错误在解压的setup.py文件里面,

    解决的办法就是:按照给定的链接(https://files.pythonhosted.org/packages/ff/f0/21a42e9e424d24bdd0e509d5ed3c7dfb8f47d962d9c044dba903b0b4a26f/turtle-0.0.2.tar.gz),把turtle包下载到本地,手动解压,修改setup.py文件再安装。

    1.打开setup.py文件,第40行修改为

    except (ValueError, ve):
    

    原来的是Python2的写法,没有括号,加了括号之后Python3就能用了。

    2.用pip3安装:

    pip3 install -e turtle-0.0.2    # -e后面接上我们修改过setup.py文件的目录。
    

    3.过程中如果报错 Failed building wheel for Twisted

    4.需要我们自己下载Twisted,然后安装。这里有Python的各种依赖包。选择适合自己Python以及系统的Twisted版本。 http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted 或者https://www.lfd.uci.edu/~gohlke/pythonlibs/下载好之后,cd到下载文件夹。pip install Twisted的文件名。

    5.重新执行步骤2

    6.好玩的代码

    # 小猪佩奇
    import turtle as t
    
    t.begin_fill()
    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.end_fill()
    t.done()
    

    程序员表白

    import turtle
    
    str = 'i like you'
    turtle.speed(10)  # 画笔速度
    turtle.setup(1800, 700, 70, 70)
    turtle.color('black', 'pink')  # 画笔颜色
    turtle.pensize(3)  # 画笔粗细
    turtle.hideturtle()  # 隐藏画笔(先)
    turtle.up()  # 提笔
    turtle.goto(-655, -255)  # 移动画笔到指定起始坐标(窗口中心为0,0)
    turtle.down()  # 下笔
    turtle.showturtle()  # 显示画笔
    # 画左边的小人
    turtle.goto(-600, -200)
    turtle.goto(-600, -120)
    turtle.circle(35)
    turtle.goto(-600, -200)
    turtle.forward(40)
    turtle.right(90)
    turtle.forward(60)
    turtle.hideturtle()
    turtle.up()
    turtle.goto(-600, -160)
    turtle.down()
    turtle.showturtle()
    turtle.left(90)
    turtle.forward(55)
    turtle.right(45)
    turtle.forward(20)
    turtle.hideturtle()
    turtle.up()
    turtle.goto(-600, -145)
    turtle.down()
    turtle.showturtle()
    turtle.goto(-545, -145)
    turtle.left(90)
    turtle.forward(20)
    
    # 画第一个爱心
    turtle.color('pink', 'pink')
    turtle.begin_fill()
    turtle.hideturtle()
    turtle.up()
    turtle.goto(-500, -153)
    turtle.down()
    turtle.showturtle()
    turtle.right(90)
    turtle.forward(30)
    turtle.left(90)
    turtle.forward(30)
    turtle.left(45)
    turtle.circle(10.6, 180)
    turtle.left(180)
    turtle.circle(10.6, 180)
    turtle.end_fill()
    # 下一个大爱心
    turtle.color('pink', 'pink')
    turtle.begin_fill()
    turtle.hideturtle()
    turtle.up()
    turtle.goto(-430, -143)
    turtle.down()
    turtle.showturtle()
    turtle.left(135)
    turtle.right(90)
    turtle.forward(50)
    turtle.left(90)
    turtle.forward(50)
    turtle.left(45)
    turtle.circle(17.67, 180)
    turtle.left(180)
    turtle.circle(17.67, 180)
    turtle.end_fill()
    
    # 第三个爱心
    turtle.color('pink', 'pink')
    turtle.begin_fill()
    turtle.hideturtle()
    turtle.up()
    turtle.goto(-315, -133)
    turtle.down()
    turtle.showturtle()
    turtle.left(135)
    turtle.right(90)
    turtle.forward(70)
    turtle.left(90)
    turtle.forward(70)
    turtle.left(45)
    turtle.circle(24.74, 180)
    turtle.left(180)
    turtle.circle(24.74, 180)
    turtle.end_fill()
    
    # 第四个爱心
    turtle.color('pink', 'pink')
    turtle.begin_fill()
    turtle.hideturtle()
    turtle.up()
    turtle.goto(-187, -133)
    turtle.down()
    turtle.showturtle()
    turtle.left(135)
    turtle.right(90)
    turtle.forward(70)
    turtle.left(90)
    turtle.forward(70)
    turtle.left(45)
    turtle.circle(24.74, 180)
    turtle.left(180)
    turtle.circle(24.74, 180)
    turtle.end_fill()
    
    # 第5个爱心
    turtle.color('pink', 'pink')
    turtle.begin_fill()
    turtle.hideturtle()
    turtle.up()
    turtle.goto(-43.7, -143)
    turtle.down()
    turtle.showturtle()
    turtle.left(135)
    turtle.right(90)
    turtle.forward(50)
    turtle.left(90)
    turtle.forward(50)
    turtle.left(45)
    turtle.circle(17.67, 180)
    turtle.left(180)
    turtle.circle(17.67, 180)
    turtle.end_fill()
    
    # 第6个爱心
    turtle.color('pink', 'pink')
    turtle.begin_fill()
    turtle.hideturtle()
    turtle.up()
    turtle.goto(53.88, -153)
    turtle.down()
    turtle.showturtle()
    turtle.right(90)
    turtle.right(225)
    turtle.forward(30)
    turtle.left(90)
    turtle.forward(30)
    turtle.left(45)
    turtle.circle(10.6, 180)
    turtle.left(180)
    turtle.circle(10.6, 180)
    turtle.end_fill()
    
    # 画右边的小人
    turtle.hideturtle()
    turtle.up()
    turtle.goto(251.28, -255)
    turtle.down()
    turtle.showturtle()
    turtle.goto(196.28, -200)
    turtle.goto(196.28, -120)
    turtle.left(90)
    turtle.circle(35)
    turtle.goto(196.28, -200)
    turtle.left(180)
    turtle.forward(40)
    turtle.left(90)
    turtle.forward(60)
    turtle.hideturtle()
    turtle.up()
    turtle.goto(196.28, -160)
    turtle.down()
    turtle.showturtle()
    turtle.right(90)
    turtle.forward(55)
    turtle.left(45)
    turtle.forward(20)
    turtle.hideturtle()
    turtle.up()
    turtle.goto(196.28, -145)
    turtle.down()
    turtle.showturtle()
    turtle.right(45)
    turtle.forward(55)
    turtle.right(45)
    turtle.forward(20)
    
    # 画气球线和气球
    # 第一个气球
    turtle.hideturtle()
    turtle.up()
    turtle.goto(-265, -133)
    turtle.down()
    turtle.showturtle()
    turtle.goto(-245, 0)
    turtle.right(135)
    turtle.circle(35)
    # 第2个气球
    turtle.hideturtle()
    turtle.up()
    turtle.goto(-265, -133)
    turtle.down()
    turtle.showturtle()
    turtle.goto(-305, 80)
    turtle.circle(40)
    # 第3个气球
    turtle.hideturtle()
    turtle.up()
    turtle.goto(-137, -133)
    turtle.down()
    turtle.showturtle()
    turtle.goto(-167, 0)
    turtle.circle(35)
    # 第4一个气球
    turtle.hideturtle()
    turtle.up()
    turtle.goto(-137, -133)
    turtle.down()
    turtle.showturtle()
    turtle.goto(-117, 80)
    turtle.circle(40)
    # 写字LOVE
    turtle.pencolor("GREEN")
    turtle.penup()
    turtle.goto(-245, 10)
    turtle.write("O", move=False, align='center', font=("微软雅黑", 30, 'normal'))
    
    
    turtle.pencolor("PURPLE")
    turtle.penup()
    turtle.goto(-305, 90)
    turtle.write("L", move=False, align='center', font=("微软雅黑", 30, 'normal'))
    
    turtle.pencolor("YELLOW")
    turtle.penup()
    turtle.goto(-167, 10)
    turtle.write("V", move=False, align='center', font=("微软雅黑", 30, 'normal'))
    
    turtle.pencolor("ORANGE")
    turtle.penup()
    turtle.goto(-117, 90)
    turtle.write("E", move=False, align='center', font=("微软雅黑", 30, 'normal'))
    
    
    # 写送给谁
    turtle.pencolor("PINK")
    turtle.penup()
    turtle.goto(300, 200)
    turtle.write(str, move=False, align='center', font=("方正舒体", 30, 'normal'))
    turtle.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()
    
  • 相关阅读:
    自定义镜像流程
    go语言中go+select的理解
    go语言中var声明chan、map、指针,注意的情况
    docker SDK 的基本学习
    ubuntu上安装postgres以及在远程连接上的坑
    go语言模板中的os.Stdout标准输出转化为string
    angular7升级到angular8
    sudo不用在输入密码
    go语言简单的执行shell命令
    Ubuntu上面安装docker
  • 原文地址:https://www.cnblogs.com/enumx/p/12335116.html
Copyright © 2020-2023  润新知