【问题标题】:Python 3.7.2 Turtle source folder-specific error messagePython 3.7.2 Turtle 源文件夹特定的错误消息
【发布时间】:2019-02-26 06:14:36
【问题描述】:

我在 Windows 7 中安装了 Python 3.7.2。当我编写海龟代码并将其保存在 Python 文件夹中时,它可以正常运行。如果我将它保存在另一个文件夹中,它会返回此错误:

NameError:名称点未定义。

这是我的代码:

from tkinter import *

from tkinter import ttk

from turtle import *

def triangle():

    fd(200);left(135);fd(150);goto(0,0)

def rectangle():

    lt(180);fd(250);lt(90);fd(125);lt(90);fd(250);lt(90);fd(125)

def square():

    fd(250);rt(90);fd(250);rt(90);fd(250);rt(90);fd(250)

def grdk():

    circle(75)

window=Tk()

window.title('GeoFigs')

window.geometry('250x200')

label=Label(window,text='Choose one figure',font='Aharoni -22 bold')

label.pack()

sekunga=ttk.Button(window,text='TRIANGLE',command=triangle)

sekunga.pack()

chor=ttk.Button(window,text='RECTANGLE',command=rectangle)

chor.pack()

kv=ttk.Button(window,text='SQUARE',command=square)

kv.pack()

grd=ttk.Button(window,text='CIRCLE',command=grdk)

grd.pack()

mainloop()

【问题讨论】:

  • 您能否编辑问题以包含您遇到的异常的完整回溯?因为错误消息提到dot,它不会出现在您的代码中的任何位置。知道错误发生在哪里对我们有很大帮助。

标签: python tkinter turtle-graphics python-3.7


【解决方案1】:

我不确定这是否与您的“NameError: name dot is not defined”问题有关,但我不会开始调试像这样设置的海龟程序。 Turtle 设计为在 standalone(turtle 单独)或 embedded(turtle 和 tkinter)模式下工作,但您将其嵌入在独立模式下,这可能会创建两个 Tk 根和其他问题。以下是在 embedded 模式下对您的 turtle 代码的修改:

from tkinter import *
from turtle import ScrolledCanvas, TurtleScreen, RawTurtle

def triangle():

    turtle.forward(200)
    turtle.left(135)
    turtle.forward(150)
    turtle.home()

def rectangle():

    turtle.left(90)

    for _ in range(2):
        turtle.left(90)
        turtle.forward(250)
        turtle.left(90)
        turtle.forward(125)

def square():

    for _ in range(4):
        turtle.forward(200)
        turtle.right(90)

def circle():

    turtle.circle(75)

window = Tk()
window.title('Graphics')
window.geometry('640x480+300+0')

figures = Toplevel(window)
figures.title('Figures')
figures.geometry('250x150')

Label(figures, text='Choose one figure').pack()

Button(figures, text='TRIANGLE', command=triangle).pack()
Button(figures, text='RECTANGLE', command=rectangle).pack()
Button(figures, text='SQUARE', command=square).pack()
Button(figures, text='CIRCLE', command=circle).pack()

canvas = ScrolledCanvas(window)
canvas.pack(fill="both", expand=True)

screen = TurtleScreen(canvas)
screen.screensize(640, 480)

turtle = RawTurtle(screen)

screen.mainloop()

试试这个,如果“NameError:name dot is not defined”仍然存在,请向我们提供完整的错误回溯作为对原始问题的编辑。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-14
    • 1970-01-01
    • 2016-01-10
    • 1970-01-01
    • 2021-08-23
    相关资源
    最近更新 更多