EXCELSIOR

[Level1] 문자열 다루기 기본 (alpha_string46) 본문

Python/알고리즘_문제

[Level1] 문자열 다루기 기본 (alpha_string46)

Excelsior-JH 2016. 10. 20. 01:40

1. 문제

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


2. 풀이

1) 내가 작성한 풀이

- try: except: 문을 활용하여 문제를 해결하였다.

def alpha_string46(s):
    #함수를 완성하세요
    try:
        if((len(s) ==4 or len(s) ==6) and int(s)):
            return True
        else:
            return False
    except ValueError:
        return False

# 아래는 테스트로 출력해 보기 위한 코드입니다.
print( alpha_string46("a234") )
print( alpha_string46("1234") )

2) 다른 풀이
- isdigit( )라는 함수를 사용하여 해결하였고, 'or' 연산자 또한 'in [4, 6]' 을 통해 해결하였다.
def alpha_string46(s):
    return s.isdigit() and len(s) in [4, 6]


# 아래는 테스트로 출력해 보기 위한 코드입니다.
print( alpha_string46("a234") )
print( alpha_string46("1234") )


3. 알아둘것

1) isdigit( ) : 해당 문자열이 숫자인지를 판단한다.

S.isdigit() -> bool


Return True if all characters in S are digits

and there is at least one character in S, False otherwise. 


2) isdecimal( ) : 10진수인지 판단한다.

str.isdecimal Found at: builtins

S.isdecimal() -> bool

    

Return True if there are only decimal characters in S,

 False otherwise.




Comments