使用布尔值检查字符串中的数字是否自然

时间:2015-11-02 00:27:30

标签: python python-3.x

所以我正在尝试创建一个函数来检查字符串中的数字是否自然。

所以我的代码就像这样

font[letter]["line"][x]

我希望我的输出像这样

def natural(x):
     while True:
          return x.isdigit() and 0 <= int(x) <= 9

我的问题是我如何解释指数大数?

3 个答案:

答案 0 :(得分:3)

我认为您只是在寻找isdigit函数 - 它适用于您在此处列出的所有示例,并且用c语言编写,几乎肯定比纯python解决方案更快。

答案 1 :(得分:1)

您无需在此处执行额外检查:

and 0 <= int(x) <= 9

isdigit方法已经为您完成此操作。你非常想坚持使用isdigit

此外,可以使用代码进行简化,您可以坚持使用isdigit,如下所示:

def natural(x):
    return x.isdigit()

感谢@SteveJessop对此的讨论。

答案 2 :(得分:-1)

您可以循环显示提供的字符串中的所有字符:

def natural(x):
    for c in x:
        if not c.isdigit():
            return False
    return True

一旦遇到第一个不是数字的字符,它就会停止。