未定义的变量名称似乎是一个常见的问题,我已经按照确切的过程作为这里的一些示例,但我没有取得任何成功。
据我所知,如果你有多个函数,你必须创建一个类,然后创建一个类的实例来调用这些方法。
这是我的伪代码:
start = KMP()
start.read()
class KMP:
def read(self):
Text = "AGABBBACC"
Pattern = "BBB"
result = self.kmp(self, Pattern, Text)
def kmp(self, Pattern, Text):
........
........
return self.numOcc`
我得到一个未定义的名字'KMP',我真的不明白为什么。有人可以帮我解决这个错误吗?
答案 0 :(得分:2)
在使用之前必须先定义一些内容。在您的情况下,您尝试在定义KMP
的代码之前创建类KMP
的实例。
您需要在定义类之后移动第一个语句。
class KMP:
def read(self):
Text = "AGABBBACC"
Pattern = "BBB"
result = self.kmp(self, Pattern, Text)
def kmp(self, Pattern, Text):
........
........
return self.numOcc`
start = KMP()
start.read()