你如何在 python 中检查一个字符串是否只包含数字?

新手上路,请多包涵

你如何检查一个字符串是否只包含数字?

我已经试过了。我希望看到实现此目的的最简单方法。

 import string

def main():
    isbn = input("Enter your 10 digit ISBN number: ")
    if len(isbn) == 10 and string.digits == True:
        print ("Works")
    else:
        print("Error, 10 digit number was not inputted and/or letters were inputted.")
        main()

if __name__ == "__main__":
    main()
    input("Press enter to exit: ")

原文由 Coder77 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 320
2 个回答

您需要在 str 对象上使用 isdigit 方法:

 if len(isbn) == 10 and isbn.isdigit():

来自 isdigit 文档

str.isdigit()

如果字符串中的所有字符都是数字并且至少有一个字符,则返回 True,否则返回 False。数字包括十进制字符和需要特殊处理的数字,例如兼容性上标数字。这涵盖了不能用于构成以 10 为基数的数字的数字,例如 Kharosthi 数字。形式上,数字是具有属性值 Numeric_Type=Digit 或 Numeric_Type=Decimal 的字符。

原文由 mhlester 发布,翻译遵循 CC BY-SA 4.0 许可协议

使用 str.isdigit

 >>> "12345".isdigit()
True
>>> "12345a".isdigit()
False
>>>

原文由 user2555451 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题