欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python开发turtle安装和导入异常解决方案

程序员文章站 2023-10-27 09:58:16
1.环境pip install turtal如果安装失败:1.1 wget turtal的下载地址,自行解压, 按照提示更改, 更改完成--> pip install -e "你的下载turtle路径"。2. 当导包turtal时,报错如下 File "/usr/lib/python3.6/turtle.py", line 107, in import tkinter as TKModuleNotFoundError: No modul......

1.环境

pip install turtal

如果安装失败:

1.1 wget turtal的下载地址,自行解压, 按照提示更改, 更改完成--> pip install -e "你的下载turtle路径"。

2. 当导包turtal时,报错如下

  File "/usr/lib/python3.6/turtle.py", line 107, in <module>

    import tkinter as TK

ModuleNotFoundError: No module named 'tkinter'

解决方案:

      sudo apt-get update

      sudo apt-get install tcl-dev tk-dev python3-tk

参考案例--(资源收集于网络)

3.1 花

import turtle

# 设置初始位置

turtle.penup()

turtle.left(90)

turtle.fd(200)

turtle.pendown()

turtle.right(90)

# 花蕊

turtle.fillcolor("red")

turtle.begin_fill()

turtle.circle(10, 180)

turtle.circle(25, 110)

turtle.left(50)

turtle.circle(60, 45)

turtle.circle(20, 170)

turtle.right(24)

turtle.fd(30)

turtle.left(10)

turtle.circle(30, 110)

turtle.fd(20)

turtle.left(40)

turtle.circle(90, 70)

turtle.circle(30, 150)

turtle.right(30)

turtle.fd(15)

turtle.circle(80, 90)

turtle.left(15)

turtle.fd(45)

turtle.right(165)

turtle.fd(20)

turtle.left(155)

turtle.circle(150, 80)

turtle.left(50)

turtle.circle(150, 90)

turtle.end_fill()

# 花瓣1

turtle.left(150)

turtle.circle(-90, 70)

turtle.left(20)

turtle.circle(75, 105)

turtle.setheading(60)

turtle.circle(80, 98)

turtle.circle(-90, 40)

# 花瓣2

turtle.left(180)

turtle.circle(90, 40)

turtle.circle(-80, 98)

turtle.setheading(-83)

# 叶子1

turtle.fd(30)

turtle.left(90)

turtle.fd(25)

turtle.left(45)

turtle.fillcolor("green")

turtle.begin_fill()

turtle.circle(-80, 90)

turtle.right(90)

turtle.circle(-80, 90)

turtle.end_fill()

turtle.right(135)

turtle.fd(60)

turtle.left(180)

turtle.fd(85)

turtle.left(90)

turtle.fd(80)

# 叶子2

turtle.right(90)

turtle.right(45)

turtle.fillcolor("green")

turtle.begin_fill()

turtle.circle(80, 90)

turtle.left(90)

turtle.circle(80, 90)

turtle.end_fill()

turtle.left(135)

turtle.fd(60)

turtle.left(180)

turtle.fd(60)

turtle.right(90)

turtle.circle(200, 60)

3.2 机器猫

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("ojsqRwEHgLylcUEo#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(-CqesHsLTwSjsEo30, 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()

3.2 小猪佩奇

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

本文地址:https://blog.csdn.net/zzqq12345/article/details/107090939