これは、より大きなプログラムの一部です。これが私がやろうとしていることです。
- scan メソッドに文を渡します。
- 文に数字を含めます。
- 文を別の用語に分割します。
- リストにタプルを追加します。タプルの最初の式は、単語または文の要素が適合するもののタイプであり、2 番目の式は単語または数字です。
ここに私がしようとしているものがあります:
def scan(self, sentence):
self.term = []
for word in sentence.split():
if word in direction:
self.term.append(('direction', word))
elif word in verbs:
self.term.append(('verb', word))
elif word in stop:
self.term.append(('stop', word))
elif word in nouns:
self.term.append(('noun', word))
elif type(int(word)) == 'int':
self.term.append(('number', int(word)))
else:
self.term.append(('error', word))
return self.term
print lexicon.scan('12 1234')
これはクラス内のメソッドで、print ステートメントは外部にあります。私が懸念し、問題を抱えている部分はこれです:
elif type(int(word)) == int:
self.term.append(('number', int(word)))
任意の自然数 [1、無限大) に対して機能するはずです。
編集:スキャンしようとすると問題が発生します('ASDFASDFASDF')