1. ホーム
  2. python

[解決済み] Pythonで文字列が数字だけを含んでいるかどうかをチェックするには?

2022-04-27 07:01:33

質問

文字列に数字だけが含まれているかどうかを調べるにはどうすればよいですか?

ここで試しにやってみました。最もシンプルな方法で実現したいのですが。

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: ")

解決方法は?

を使用することになります。 isdigit メソッドで str オブジェクトを作成します。

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

から isdigit ドキュメンテーション :

str.isdigit()

文字列中のすべての文字が数字であり、かつ少なくとも1つの文字があればTrueを、そうでなければFalseを返す。数字には、10進文字と、互換性のある上付き数字のような特別な扱いが必要な数字が含まれます。これは、カロスティー数のような、基数10の数字を構成するのに使用できない数字をカバーします。形式的には、桁はプロパティ値 Numeric_Type=Digit または Numeric_Type=Decimal を持つ文字です。