Python 我有一个编译器错误";“未定义”;虽然有一个定义

Python 我有一个编译器错误";“未定义”;虽然有一个定义,python,debugging,Python,Debugging,我花了很多时间仍然找不到问题所在,需要一些帮助对Circle()的未完成调用可能是因为试图正确格式化代码时出错。请检查您是否发布了您实际运行的代码,并且回溯是您实际获得的代码(其中有一些代码缺失!) (格式糟糕)回溯中报告的错误是,邻居的行中未定义邻居:。编译器绝对不可能通过插入的行来咀嚼 Traceback (most recent call last): File "chomp.py", line 110, in class Wall(Immovable): File "chomp.py

我花了很多时间仍然找不到问题所在,需要一些帮助

Circle()
的未完成调用可能是因为试图正确格式化代码时出错。请检查您是否发布了您实际运行的代码,并且回溯是您实际获得的代码(其中有一些代码缺失!)

(格式糟糕)回溯中报告的错误是,
邻居的
行中未定义
邻居:
。编译器绝对不可能通过插入的行来咀嚼

Traceback (most recent call last):  
File "chomp.py", line 110, in class Wall(Immovable):
File "chomp.py", line 124, in Wall for neighbor in neighbors:
NameError: name 'neighbors' is not defined
没有其他错误

注意:以上是对另一个在我回答时已结束的问题的回答。我将其保留,以便您知道您针对该问题得到的建议是错误的

我怀疑在范围(宽度):
中x的(
width
未在
行中定义)之后,您没有修复所有缩进错误,并且相邻中相邻:
的Q2和Q3行
应该移到其显示位置的右侧4个空格

源文件中是否有任何选项卡?如果是这样的话,就扔掉它们。如果你不确定如何保持无标签状态,可以单独问一个问题,说什么编辑器、什么操作系统,也许熟悉这些组合的人可以帮助你

如何在源文件中查找选项卡:

(x, y) = self.place
neighbors = [ (x+1, y), (x-1, y)]

我看不出错误在哪里。您最近是否移动了文件,使得导入实际上不是运行新代码,而是运行.pyc文件?例如,您最近是否引入了一个与python文件同名的包

C:\junk>\python27\python -c "print[x for x in enumerate(open('sometabs.py'),1)if'\t'in x[1]]"
[(1, 'foo\tbar\n'), (3, '\t\toof\n')]
. \-main.py有一个“导入内容” \-这是您认为正在运行的代码。 \-东西 \-\uuuu init\uuuuy.py正在运行此代码。
第110行:类墙(不可移动):(对不起,我在找到代码后删除了我的评论;我问了第110行和第124行在哪里。)第124行不包含
maze=self.maze
;它包含邻居中邻居的行
。好的。没什么不同。能帮我查一下吗?谢谢你!尝试将邻居中邻居的
更改为[(x+1,y)、(x-1,y)]中邻居的
,然后查看您的操作get@kriegar,上面写着“x未定义”…非常感谢!厕所。我终于解决了。我使用另一个编辑器打开了它,并修改了messed选项卡。我得到了它。谢谢@安迪·莱曼:不要“修改乱七八糟的标签”——删除所有标签;他们是邪恶的。请参阅我的更新,了解单线选项卡线定位器。谢谢。我每次只用4个空格,对吗?远离标签?@Andy Leman:远离文件中的物理标签。可以将编辑器设置为在按下Tab键时发射空格。
C:\junk>\python27\python -c "print[x for x in enumerate(open('sometabs.py'),1)if'\t'in x[1]]"
[(1, 'foo\tbar\n'), (3, '\t\toof\n')]
. \- main.py Has an "import stuff" \- stuff.py This is the code you think is being run. \- stuff \- __init__.py This code is being run.