Python で入力が整数かどうかを確認する

Manav Narula 2023年1月30日
  1. Python で int() 関数を使用して入力が整数かどうかを確認する
  2. isnumeric() メソッドを使用して、入力が整数かどうかを確認する
  3. Python で正規表現を使用して入力が整数かどうかを確認する
Python で入力が整数かどうかを確認する

プログラミングの世界では、ユーザーの入力を頻繁に処理します。Python には input() 関数があり、ユーザーはこれを使用して目的の入力を入力できます。特定のタイプの入力が必要な場合があります。

ただし、この関数は、プログラムでコンパイルする前に、ユーザーの入力を文字列に変換します。したがって、従来の方法を使用してユーザー入力で特定のタイプをチェックすることは簡単ではなく、文字列に数字が含まれているかどうかを本質的にチェックする必要があります。

このチュートリアルでは、ユーザーが入力した入力が整数型であるかどうかを確認する方法について説明します。

Python で int() 関数を使用して入力が整数かどうかを確認する

int() 関数は、指定された文字列整数値を整数型に変換できます。目的の値が整数ではなく、変換できない場合はエラーが発生します。以下に示すように、このメソッドを使用して、ユーザーの文字列が整数であるかどうかを確認できます。

user_input = input("Enter the input ")

try:
    int(user_input)
    it_is = True
except ValueError:
    it_is = False

print(it_is)

出力:

Enter the input 15
True

このメソッドでは try...except ブロックを使用していることに注意してください。Python で例外を処理するときに非常に頻繁に使用されます。

isnumeric() メソッドを使用して、入力が整数かどうかを確認する

文字列に数値のみが含まれている場合、文字列の isnumeric() メソッドは True を返します。ただし、負の値で失敗することは注目に値します。これは、負の整数で - 記号が検出されると、自動的に False を返すためです。

次のコードは、この関数を使用して、Python で文字列に整数が含まれているかどうかを確認する方法を示しています。

user_input = input("Enter the input ")

print(user_input.isnumeric())

出力:

Enter the input 10
True

isnumeric() の代わりに isdigit() 関数を使用することもできます。また、この方法と同じ制限があります。

Python で正規表現を使用して入力が整数かどうかを確認する

正規表現を使用して、文字列内で整数に遭遇するたびに True を返すパターンを作成することもできます。パターンを変更して、負の値で機能することを確認することもできます。例えば、

import re

user_input = input("Enter the input ")

num_format = re.compile(r"^\-?[1-9][0-9]*$")
it_is = re.match(num_format, user_input)

if it_is:
    print("True")
else:
    print("False")

出力:

Enter the input -15
True

以下は、正規表現パターンの説明です-^\-?[1-9][0-9]*$

  • ^は文字列の始まりです
  • \-? この数値が負または正の可能性があることを示します。
  • [1-9] は数字の最初の桁です。1 から 9 までの数値である必要がありますが、0 ではありません。
  • [0-9]*は次の桁を示します。桁数は、0 を含む任意の桁数にすることができます。
  • $ は文字列の終わりです。
著者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

関連記事 - Python String

関連記事 - Python Input