如果数字是'字符串',如何检查数字是否为数字?

Whe*_*-pi 0 python types integer

这是一个更大的计划的一部分.这是我想要做的.

  1. 将句子传递给扫描方法.
  2. 请句子包含数字.
  3. 将句子分成不同的术语.
  4. 将一个元组附加到列表中,元组中的第一个表达式是单词或句子元素所适合的类型,第二个是单词或数字.

这是我正在尝试的:

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')
Run Code Online (Sandbox Code Playgroud)

这是一个类中的方法,print语句在外面.我关心和遇到麻烦的部分是这样的:

elif type(int(word)) == int:
    self.term.append(('number', int(word)))
Run Code Online (Sandbox Code Playgroud)

它适用于任何自然数[1,无穷大]

编辑:当我尝试扫描时遇到问题('ASDFASDFASDF')

Pau*_*McG 5

因为你只需要正整数,所以试试elif word.isdigit():(注意这也会接受"0").

  • 可能:`elif word.ltrim('0').isdigit()` (2认同)