Here is part of my code:
class PhraseTrigger(Trigger):
def __init__(self, phrase):
self.phrase = phrase.lower()
def is_phrase_in(self, text):
text = text.lower()
for n in string.punctuation:
text = text.replace(n, ' ')
text = text.split()
text = ' '.join(text)
if self.phrase in text:
return True
else:
return False
class TitleTrigger(PhraseTrigger):
def __init__(self, phrase):
PhraseTrigger.__init__(self, phrase)
def evaluate(self, story):
return self.is_phrase_in(story)
So when I want to run my program like this:
a = TitleTrigger('purple cow')
a.evaluate('purple@#$%cow')
I get error messages like this:
Traceback (most recent call last):
File "<ipython-input-41-7901a9ad2481>", line 1, in <module>
a.evaluate('purple@#$%cow')
File "C:/Users/Dexter/Desktop/mit psets/pset5/pset5/ps5.py", line 121, in evaluate
return self.is_phrase_in(story)
NameError: name 'is_phrase_in' is not defined
I think I can call the function from base class just with self.function_name
. Can someone help?