<Algorithm1.> 숫자판별함수 - isdecimal(), isdigit(), isnumeric()

Sinjae Lee·2021년 6월 17일
0

python에서 문자열이 주어졌을때 숫자로 이뤄졌는지 검사하는 함수가 세개나 있다.

isdecimal(), isdigit(), isnumeric(),

무슨 차이 일까 digit, decimal, numeric 사전에 검색해봐도 그냥 전부 숫자라고 나온다

💁   isdecimal()

-> 셋중에 판별 범위가 가장 좁다 decimal 은 즉시 숫자로 만들 수 있는 str값을 True로 반환한다. 예를 들어서 '1234567890' 같은 값만 말이다.

💁   isdigit()

-> isdigit 은 조금 더 포괄적이다 3²같은 숫자처럼 생긴 숫자 값들은 숫자라고 검사해준다

decimal은 false가 나온다

💁   isnumeric()

-> isnumeric은 digit 보다도 범위가 넓다.


3²는 물론 ½ 같은 특수문자도 숫자로 받아준다.(도대체 저 특수문자는 어떻게 쓰지요...?)

그래서 이전에 풀었던 문제를 다시 가져와서 풀어보면

문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.

def solution(s):
    return s.isnumeric() and len(s) == 4 or len(s) == 6

한줄로 가능하다!

profile
Back-end developer

0개의 댓글