Python에서 입력이 정수인지 확인

Manav Narula 2023년1월30일
  1. int()함수를 사용하여 입력이 Python에서 정수인지 확인
  2. isnumeric()메소드를 사용하여 입력이 정수인지 아닌지 확인
  3. 정규식을 사용하여 입력이 Python에서 정수인지 확인
Python에서 입력이 정수인지 확인

프로그래밍 세계에서 우리는 사용자의 입력으로 매우 자주 작업합니다. Python은input()함수를 사용할 수 있으므로 사용자가 원하는 입력을 입력 할 수 있습니다. 때로는 특정 유형의 입력을 원할 수 있습니다.

그러나이 함수는 프로그램으로 컴파일하기 전에 사용자의 입력을 문자열로 변환합니다. 따라서 사용자 입력으로 특정 유형을 확인하기 위해 전통적인 방법을 사용하는 것은 간단하지 않으며 문자열에 숫자가 기본적으로 포함되어 있는지 여부를 확인해야합니다.

이 튜토리얼에서는 사용자가 입력 한 입력이 정수형인지 아닌지를 확인하는 방법에 대해 설명합니다.

int()함수를 사용하여 입력이 Python에서 정수인지 확인

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블록을 사용합니다. 파이썬에서 예외를 처리 할 때 매우 자주 사용됩니다.

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