[Python]숨어있는 숫자 찾기

JONGBAO·2024년 1월 24일

1. Try, Except문 활용

  • Try, Except 문으로 my_string 내부의 숫자값만 계산하고 문자열은 pass
  • int로 변환할 수 있는 숫자값만 계산되어짐
  • number = int(number), number = float(number) 형식으로도 int, float 판별 가능
for i in my_string:
	try:
    	answer = answer + int(i)
    except:
    	pass

2. isnumeric()

  • 숫자값 표현에 해당하는 문자열까지 True로 반환
number = ['123', '-1', '0.5', '½', '3²', '50%']

for i in number:
    print(i, i.isnumeric())
    
-- 결과 --    
123 True
-1 False
0.5 False
½ True
3² True
50% False
  • 음수, float, 퍼센트 형태는 False로 반환한다.

isdigit()

  • 문자열이 숫자로 이루어져있는지 판별한다. 숫자처럼 생긴 문자열을 True로 반환
number = ['123', '-1', '0.5', '½', '3²', '50%']

for i in number:
    print(i, i.isnumeric())
    
-- 결과 --
123 True
-1 False
0.5 False
½ False
3² True
50% False
  • 분수형태를 False로 반환한다.

isdecimal()

  • 흔히 생각하는 진짜 숫자만을 True로 반환한다.
  • 자연수 여부를 알고 싶을 때 해당 함수 사용 (오직 0~9 까지의 숫자만 True로 반환)
number = ['123', '-1', '0.5', '½', '3²', '50%']

for i in number:
	print(i, i.isdecimal())

-- 결과 --
123 True
-1 False
0.5 False
½ False
3² False
50% False
  • isnumeric() >= isdigit() >= isdecimal() 순서로 범위가 넓다!

0개의 댓글