<문제>
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
<풀이>
def solution(s):
try:
if len(s) == 4 or len(s) == 6:
if int(str(s))%1 == 0:
return True
else:
return False
except:
return False
<다른 풀이>
방법 1.
def solution(s):
try:
int(s)
except:
return False
return len(s) == 4 or len(s) == 6
방법 2.
def solution(s):
return s.isdigit() and (len(s) == 4 or len(s) == 6)
<개념>
1) isdigit: 문자열 구성이 모두 숫자인지 확인하는 메소드
이 함수의 리턴값은 boolean 형태
변수.isdigit()
2) isalpha: 문자열 구성이 모두 숫자인지 확인하는 메소드
이 함수의 리턴값은 boolean 형태(숫자, 공백 또한 False로 반환)
변수.isalpha()
3) isalnum: 문자열 구성이 알파벳과 숫자로 이루어졌는지 확인하는 메소드
이 함수의 리턴값은 boolean 형태(공백, 특수문자가 들어갔을 경우 False로 반환)
변수.isalnum()