https://school.programmers.co.kr/learn/courses/30/lessons/12918
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
제한 사항
s는 길이 1 이상, 길이 8 이하인 문자열입니다.
s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.
def solution(s):
if len(s) == 4 or len(s) == 6:
for letter in s :
if letter.isalpha():
return False
return True
else: return False
문제를 제대로 안읽으면 s의 길이가 4혹은 6인지 검사하지 않게 된다.
return s.isdigit() and len(s) in (4, 6)
숫자로만 이루어져있는지 검사하고, s의 길이가 4, 6인지 검사한다.
천재다....
isdigit()이란것도 처음 알았다. 그리고 문자열에 냅다 쓸 수 있는지도..
isalpha()도 문자열에 쓸 수 있더라.
try:
int(s)
except:
return False
return len(s) == 4 or len(s) == 6
s를 정수로 바꿔보고 안되면 False 반환.
잘되면 길이가 4 또는 6인지 검사한 결과를 반환.
천재다........