본문 바로가기
코딩라이브러리/파이썬

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

by 유니네 라이브러리 2024. 5. 11.
  • String 문자열에서 문자만 있는지 판단
    • isalpha() : 문자열만 있는 경우 True
#문자열만 있는 경우 True
inp = "문자인지판단"
print(inp.isalpha()) #True

#공백있는 경우 False
inp = "문자인지 판단"
print(inp.isalpha()) #False
  • String 문자열에서 숫자만 있는지 판단
    • isdigit() : 0~9까지의 숫자만 있는 경우 True
    • isnumeric() : 문자열 내의 모든 문자가 숫자이고, 적어도 하나의 문자가 존재하는 경우 True
    • isdecimal() 사용 : 문자열 내의 모든 문자가 십진수 문자이고, 적어도 하나의 문자가 존재하는 경우 True
#0~9까지의 숫자만 있는 경우 True
inp = "123"
print(inp.isdigit()) #True

#문자열 내의 모든 문자가 숫자이고, 적어도 하나의 문자가 존재하는 경우 True, 그렇지 않으면 False
inp = "123"
print(inp.isnumeric()) #True

#문자열 내의 모든 문자가 십진수 문자이고, 적어도 하나의 문자가 존재하는 경우 True, 그렇지 않으면 False
inp = "123"
print(inp.isdecimal()) #True

#공백있는 경우 모두 False
inp = "12 3"
print(inp.isdigit()) #False
print(inp.isnumeric()) #False
print(inp.isdecimal()) #False

#소수점 있는 경우 모두 False
inp = "123.4"
print(inp.isdigit()) #False
print(inp.isnumeric()) #False
print(inp.isdecimal()) #False

#음수인 경우 모두 False
inp = "-123"
print(inp.isdigit()) #False
print(inp.isnumeric()) #False
print(inp.isdecimal()) #False

#¼ 분수인경우는 isnumeric() 만 True
inp = "¼"
print(inp.isdigit()) #False
print(inp.isnumeric()) #True
print(inp.isdecimal()) #False

#분수표시를 나누기와 같이 표현되어 있으면 모두 False
inp = "1/4"
print(inp.isdigit()) #False
print(inp.isnumeric()) #False
print(inp.isdecimal()) #False
  • String 문자열에서 문자와 숫자만 있는지 판단
    • isalnum() : 문자열 내의 모든 문자가 알파벳과 숫자이고, 적어도 하나의 문자가 존재하는 경우 True
#문자열 내의 모든 문자가 알파벳과 숫자이고, 적어도 하나의 문자가 존재하는 경우 True, 그렇지 않으면 False
#문자열과 숫자만 있으면 True
inp = "문자인지123인지판단"
print(inp.isalnum())

#공백인 경우 False
inp = "문자인지 판단"
print(inp.isalnum())

#문자열만 있으면 True
inp = "문자인지인지판단"
print(inp.isalnum())

#숫자만 있으면 True
inp = "123"
print(inp.isalnum())

 

☞ 변수값이 문자인지 연습 문

https://www.acmicpc.net/problem/10926

#입력값이 알파벳 문자이고 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())

 

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