코딩라이브러리/파이썬

파이썬 문자인지 숫자인지 (with 백준 10926)

유니네 라이브러리 2024. 5. 11. 10:51

문자열이 문자(isalpha()), 숫자(isdigit(), isnumeric(), isdecimal())인지 확인한다.

문자+숫자인지 확인 (isalnum())

백준 10926번 문제 풀이로 연습한다.

 

📌 1. 문자열이 문자(isalpha())인지 확인

 

📌 isalpha() : 문자만 포함하면 True, 공백이나 숫자가 있으면 False

inp = "문자인지판단"
print(inp.isalpha())  # True (문자만 있음)

inp = "문자인지 판단"
print(inp.isalpha())  # False (공백 포함)

 

출력 결과

True  
False

 

📌 2. 문자열이 숫자인지 확인

함수 설명 예시 (inp = "123") 예시 (inp = "123.4")
isdigit() 0~9 숫자만 포함되면 True True False
isnumeric() 모든 숫자(분수, 제곱 포함) 가능 True False
isdecimal() 십진수(0~9)만 가능 True False
inp = "123"
print(inp.isdigit())    # True
print(inp.isnumeric())  # True
print(inp.isdecimal())  # True

inp = "123.4"  # 소수점 포함
print(inp.isdigit())    # False
print(inp.isnumeric())  # False
print(inp.isdecimal())  # False

inp = "-123"  # 음수 포함
print(inp.isdigit())    # False
print(inp.isnumeric())  # False
print(inp.isdecimal())  # False

inp = "¼"  # 분수(¼)
print(inp.isdigit())    # False
print(inp.isnumeric())  # True  (분수도 숫자로 인정)
print(inp.isdecimal())  # False

 

출력 결과

True True True  
False False False  
False False False  
False True False

 

📌 3. 문자+숫자인지 확인 (isalnum())

 

📌 isalnum() : 문자와 숫자가 함께 있으면 True

inp = "문자123"
print(inp.isalnum())  # True (문자+숫자)

inp = "문자 123"
print(inp.isalnum())  # False (공백 포함)

inp = "123"
print(inp.isalnum())  # True (숫자만 있어도 True)

 

출력 결과

True  
False  
True

 

📌 4. 문자 판별 연습 (백준 10926번 문제 풀이)

 

📌 문제 링크:

🔗 백준 10926번 - ??!

 

🔹 문제 설명

사용자의 아이디 val을 입력받고, 뒤에 "??!"를 붙여 출력

 

🔹 코드 구현

#입력값이 알파벳 문자이고 50자 이내의 validation check 를 하고 싶을 때
#입력값 받기
val = str(input())
while True:
    #입력값이 알파벳 문자이고, 길이가 50자 이내일때
    if(val.isalpha() and len(val) < 51):        
        rtnVal = val+"??!"
        print(rtnVal)
        break
    else:
        val = str(input())

 

입출력 예시

입력: joonas
출력: joonas??!

📌 특징:

  • 알파벳 문자만 입력 가능 (isalpha())
  • 최대 50자 (len(val) <= 50)
  • 조건에 맞지 않으면 다시 입력받음

✅ 정리 & 마무리

 

문자인지 판별isalpha()

숫자인지 판별isdigit(), isnumeric(), isdecimal()

문자+숫자인지 판별isalnum()

백준 10926번 문제 풀이 → 문자열에 "??!" 붙이기

 

📚 isalpha 관련 python 자습서 참고 사이트

 

Built-in Types

The following sections describe the standard types that are built into the interpreter. The principal built-in types are numerics, sequences, mappings, classes, instances and exceptions. Some colle...

docs.python.org