Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python 3에서 원시 입력이 정수인지 어떻게 확인합니까?

<시간/>

문자열의 모든 문자가 숫자이고 하나 이상의 문자가 있으면 true를 반환하고 그렇지 않으면 false를 반환하는 String 클래스에 isdigit()이라는 메서드가 있습니다. float를 입력해도 false가 반환됩니다. 다음과 같이 호출할 수 있습니다.

>>> x = raw_input()
12345
>>> x.isdigit()
True

동일한 결과에 대해 정규식을 사용할 수도 있습니다. 숫자만 일치시키기 위해 "^[0-9]+$" 정규식을 사용하여 re.match(regex, string)를 호출할 수 있습니다. 예를 들어,

>>> x = raw_input()
123abc
>>> bool(re.match('^[0-9]+$', x))
False

re.match는 객체를 반환하고 객체가 존재하는지 여부를 확인하려면 bool()을 사용하여 부울로 변환해야 합니다.