반응형
질문
정수를 나타내는 문자열 ('3'
, '-17'
와 같은 문자열)을 try/except 메커니즘을 사용하지 않고 어떻게 판별할 수 있는 방법이 있을까요?
is_int('3.14') == False
is_int('-7') == True
답변
양의 정수의 경우 .isdigit
을 사용할 수 있습니다:
>>> '16'.isdigit()
True
하지만 음의 정수에는 작동하지 않습니다. 다음을 시도해 볼 수 있습니다:
>>> s = '-17'
>>> s.startswith('-') and s[1:].isdigit()
True
'16.0'
형식과 int
캐스팅과 유사한 방식으로 작동하지 않습니다.
편집:
def check_int(s):
if s[0] in ('-', '+'):
return s[1:].isdigit()
return s.isdigit()
반응형
댓글