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
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() 순서로 범위가 넓다!