문자열 입력을 필요한 자료형으로 검증해 변환합니다.
터미널의 input 함수는 사용자가 입력한 값을 항상 문자열로 반환합니다. 이 웹 실습실에서는 반복 가능한 예제를 위해 입력값을 문자열 변수로 준비합니다. 실제 프로그램에서도 외부에서 온 값은 먼저 문자열이라고 생각하고 검증한 뒤 int나 float로 변환하세요.
raw_age는 사용자가 입력한 값을 흉내 낸 문자열 24이고, int(raw_age)가 이를 정수 24로 바꿔야 age + 1이 25가 됩니다. 변환 없이 raw_age + 1을 계산했다면 문자열과 정수를 더할 수 없다는 TypeError가 났을 것입니다. f-string은 중괄호 안의 age와 next_age를 문자열로 바꿔 끼워 넣어 현재 24세, 내년 25세를 출력합니다.
int와 float는 올바르지 않은 문자열에서 ValueError를 발생시킵니다. 변환과 범위 검사는 서로 다른 단계이므로 숫자로 바꾼 뒤 허용 범위도 확인해야 합니다.
API, 폼, 환경변수, CSV 값도 신뢰하지 말고 경계에서 한 번 검증해 내부 코드에는 정제된 값만 전달합니다.
int('3.5')는 실패합니다. 소수 입력을 허용할지 정책을 먼저 정하고 알맞은 변환을 선택하세요.
직접 바꿔보세요raw_age를 숫자가 아닌 값으로 바꾸고 try/except가 왜 필요한지 예상해보세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.