【发布时间】:2021-04-24 05:54:23
【问题描述】:
请原谅调试问题,一般来说是编码新手。无法理解为什么我的代码突然无法运行。 我检查了似乎不是我的问题的拼写错误。
filepath = '/proper_noun.txt'
def pluralize(word):
proper_nouns = [line.strip() for line in open (filepath)]
for item in proper_nouns: ### print out the list once.
if (item==[-1]):
break;
目前在 google colab 工作。
此时,我只是试图将“proper_nouns”中的项目返回到列表中以使球滚动。有什么想法吗?
print (proper_nouns)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-29-c6832e0493e8> in <module>()
----> 1 print (proper_nouns)
NameError: name 'proper_nouns' is not define
谢谢各位。我希望这个问题遵循 SOF 礼仪
【问题讨论】:
-
如果您包含实际的整个堆栈跟踪会很好。您尚未指定 Python 认为未定义的名称,堆栈跟踪将包含该名称。
-
另外,当我运行你的代码时,没有这样的错误,所以你看到的错误可能不是由你发布的代码引起的。这就是堆栈跟踪会有所帮助的原因,因为它可能指向不同的代码。另外,
item==[-1]这行没有意义,你能解释一下你认为这是做什么的吗?而且,break;后面的分号不是标准的 Python 语法;你能解释一下为什么会有那个吗? -
抱歉,我刚刚将它包含在主要条款中。错误是指我的文件路径吗?
-
该错误不是来自您发布的代码。请发布实际显示该错误的代码。它特别指出的行不会出现在您显示的代码中的任何地方。如果您尝试在
pluralize函数之外打印proper_nouns,由于范围的原因,这显然不起作用,但我们不知道这是否是您真正想要做的。 -
对于循环,没有它,打印出'proper_nouns'对象会无休止地重复。我认为使用 ``` item == [-1] ``` 添加循环会在到达最后一个元素时停止循环。现在参考我自己的逻辑,不需要'break;'