Python에서 input() 함수는 기본적으로 문자열(str) 형태로 데이터를 받아들입니다. 하지만 숫자나 특정 데이터 타입으로 처리하려면 형 변환(Type Casting)이 필요합니다. 이 장에서는 int(), float(), str() 등을 사용하여 입력 값을 변환하는 방법과 주의할 점을 살펴봅니다.
1. 형 변환(Type Casting)이란?
형 변환은 데이터를 한 타입에서 다른 타입으로 변환하는 작업을 말합니다.
예를 들어:
• 문자열 "25"를 정수 25로 변환.
• 문자열 "3.14"를 실수 3.14로 변환.
Python에서 형 변환을 위해 다음과 같은 함수들을 자주 사용합니다:
• int(): 문자열 → 정수
• float(): 문자열 → 실수
• str(): 숫자 → 문자열
2. 주요 형 변환 함수
㉮ int() 함수
int()는 문자열 또는 실수를 정수로 변환합니다.
문자열 → 정수
age = int(input("나이를 입력하세요: "))
print(f"내년 나이는 {age + 1}살입니다.")
실행 결과:
value = int(3.14)
print(value) # 3
주의: int()는 소수점 이하 값을 버립니다.
㉯ float() 함수
float()는 문자열 또는 정수를 실수로 변환합니다.
문자열 → 실수
height = float(input("키를 입력하세요(단위: cm): "))
print(f"입력한 키는 {height}cm입니다.")
실행 결과:
키를 입력하세요(단위: cm): 170.5
입력한 키는 170.5cm입니다.
정수 → 실수
value = float(10)
print(value) # 10.0
㉰ str() 함수
str()은 숫자나 다른 데이터 타입을 문자열로 변환합니다.
정수 → 문자열
age = 25
message = "나이는 " + str(age) + "살입니다."
print(message)
실행 결과:
나이는 25살입니다.
실수 → 문자열
pi = 3.14
print("원주율은 " + str(pi) + "입니다.")
실행 결과:
원주율은 3.14입니다.
3. 입력 값 변환 활용 예제
㉮ 간단한 계산기
# 두 숫자를 입력받아 덧셈 결과 출력
num1 = int(input("첫 번째 숫자를 입력하세요: "))
num2 = int(input("두 번째 숫자를 입력하세요: "))
print(f"두 숫자의 합은 {num1 + num2}입니다.")
실행 결과:
첫 번째 숫자를 입력하세요: 10
두 번째 숫자를 입력하세요: 20
두 숫자의 합은 30입니다.
㉯ BMI 계산 프로그램
# 키와 몸무게를 입력받아 BMI 계산
height = float(input("키를 입력하세요(단위: m): "))
weight = float(input("몸무게를 입력하세요(단위: kg): "))
bmi = weight / (height ** 2)
print(f"당신의 BMI는 {bmi:.2f}입니다.")
실행 결과:
키를 입력하세요(단위: m): 1.75
몸무게를 입력하세요(단위: kg): 68
당신의 BMI는 22.20입니다.
4. 형 변환 시 주의할 점
㉮ 변환 가능한 값인지 확인
입력 값이 숫자가 아닌 경우, 형 변환 중 오류가 발생합니다.
문제 예시
age = int(input("나이를 입력하세요: ")) # '스물다섯' 입력 시 ValueError 발생
입력 값이 숫자인지 확인한 후 변환.
age = input("나이를 입력하세요: ")
if age.isdigit():
age = int(age)
print(f"입력된 나이는 {age}살입니다.")
else:
print("유효한 숫자를 입력해주세요.")
㉯ 소수점 포함 숫자 처리
int() 함수는 소수점이 포함된 값을 변환할 수 없습니다.
float()로 먼저 변환한 후, int()를 사용합니다.
해결 방법
value = "10.5"
integer_value = int(float(value))
print(integer_value) # 10
5. 입력 값 변환이 필요한 이유
• 사용자 입력은 항상 문자열로 받기 때문에 숫자 계산이나 특정 연산에 적합하지 않습니다.
• 형 변환을 통해 데이터 타입을 적절히 변경하면 다양한 작업을 수행할 수 있습니다.
6. 종합 예제: 평균 점수 계산기
# 세 과목 점수를 입력받아 평균 계산
subject1 = int(input("첫 번째 과목 점수: "))
subject2 = int(input("두 번째 과목 점수: "))
subject3 = int(input("세 번째 과목 점수: "))
average = (subject1 + subject2 + subject3) / 3
print(f"세 과목의 평균 점수는 {average:.2f}점입니다.")
실행 결과:
첫 번째 과목 점수: 85
두 번째 과목 점수: 90
세 번째 과목 점수: 88
세 과목의 평균 점수는 87.67점입니다.
7. 요약
입력 값을 데이터 타입에 맞게 변환하는 작업은 Python 프로그래밍의 기본입니다.
이를 통해 문자열, 정수, 실수 등 다양한 데이터 타입을 활용하여 프로그램의 기능을 확장할 수 있습니다.
핵심 정리
㉮ int(): 문자열 또는 실수를 정수로 변환.
㉯ float(): 문자열 또는 정수를 실수로 변환.
㉰ str(): 숫자나 데이터를 문자열로 변환.
㉱ 주의 사항: 유효한 값인지 확인하고, 오류를 방지하기 위해 입력 값 검증 필요.
'코딩교육 > Python 초등교육에서 전문가까지' 카테고리의 다른 글
1단계 : 5. 데이터 종류와 변수 (feat. Python의 기본 데이터 유형) (0) | 2025.01.19 |
---|---|
1단계 : 5. 데이터 종류와 변수 (feat. 변수란? ,변수 선언 및 사용법) (0) | 2025.01.18 |
1단계 : 4. 기본 출력과 입력 (feat. input()으로 사용자 입력 받기) (0) | 2025.01.16 |
1단계 : 4. 기본 출력과 입력 (feat. print()로 텍스트와 변수 출력하기) (0) | 2025.01.15 |
1단계 : 3. 첫번째 프로그램: Hello, World! (feat. Python의 기본 구조 이해) (0) | 2025.01.14 |