direction = ['north', 'south', 'east', 'west', 'down', 'up', 'left', 'right', 'back']
class Lexicon(object):
def scan(self, sentence):
self.sentence = sentence
self.words = self.sentence.split()
self.term = []
for word in self.words:
if word in direction:
part = ('direction','%s' % word)
self.term.append(word)
return self.term
lexicon = Lexicon()
当我通过时,lexicon.scan('north south east')
我期待着回报给我[('direction','north'),('direction','south'),('direction','east')]
。相反,我得到['north']
. 这是我希望程序总体上做的事情。
- 取一句。
- 对该句子使用扫描并将句子拆分为不同的单词。
- 对几个列表进行扫描检查句子中的所有单词(这只是单个列表中的第一个测试)。
- 如果在列表中找到一个单词,那么我想创建一个元组,第一个术语是列表的名称,第二个是单词。
- 我想为不在列表中的单词创建一个元组,就像以前一样,但使用“错误”而不是列表名称。
- 我想返回一个名为 term 的元组列表,其中包含所有不同的单词,它们的列表名称或错误在元组的第一部分