Python 即使我导入了图形,也未定义点

Python 即使我导入了图形,也未定义点,python,graphics,python-3.x,Python,Graphics,Python 3.x,这是我为一个叫做僵尸骰子的游戏而上的课 我已经导入了图形,但我得到了这个错误,我不知道为什么。请给我解释一些可能性 "File "<pyshell#0>", line 1, in <module> Game() File "C:\Users\Brandon\Desktop\FinalProject3.py", line 17, in Game Yellow = DieViewYellow(Gamewindow, Point(95,75),20) F

这是我为一个叫做僵尸骰子的游戏而上的课

我已经导入了图形,但我得到了这个错误,我不知道为什么。请给我解释一些可能性

"File "<pyshell#0>", line 1, in <module>
    Game()
  File "C:\Users\Brandon\Desktop\FinalProject3.py", line 17, in Game
    Yellow = DieViewYellow(Gamewindow, Point(95,75),20)
  File "C:\Users\Brandon\Desktop\DieViewYellow.py", line 83, in __init__
    p1 = Point(x-25, y-25)
NameError: name 'Point' is not defined">

您尚未显示所有代码,但我相信您的导入语句如下所示:

import graphics

您正在尝试使用
类:

p2 = Point(x+25, y+25) # This fails.
但是Python不知道
Point
存在于
graphics
模块中。您需要告诉它,无论何时使用

p2 = graphics.Point(x+25, y+25) # This works fine!
如果要在不使用
图形的情况下使用
点,可以直接从
图形导入
点。
前缀

from graphics import Point

p2 = Point(x+25, y+25) # This works fine now!
编辑


这个问题已经编辑过了,所以这个答案现在有点多余。不过我会把它保留下来。

请修改一下您的格式。您的代码示例显然是错误的,回溯应该格式化为代码或带有额外换行符的块引号。可以从post editor UI获得。我不太确定您的意思,但我认为是这样。他们的意思是您发布的代码示例很难阅读,因为您刚刚复制并粘贴了代码。您需要以特殊方式对其进行格式化,以便在堆栈溢出时正确查看代码。是否确实正确导入了实际的graphics.py文件?如果你的文本编辑器有自动完成功能,它能识别模块吗?我在重新格式化问题时编辑了导入语句,但即使导入了所有图形,错误仍然存在。你能发布导入语句吗?我想是的,我想它会一直删除。我从graphics import*顶部想到了您使用的是什么图形模块?你确定它里面有一个
类吗?(您可以通过执行类似于
print(dir(graphics))
的操作来查看模块包含的内容)@Matthew快速谷歌搜索表明这(可能)是教程中使用的自定义图形模块。而且它似乎确实有一个Point类。作者的名字是约翰·泽尔。
p2 = graphics.Point(x+25, y+25) # This works fine!
from graphics import Point

p2 = Point(x+25, y+25) # This works fine now!