본문 바로가기
코딩교육/Python 초등교육에서 전문가까지

1단계 : 4. 기본 출력과 입력 (feat. 입력 값 데이터 형 변환)

by 제리토리 2025. 1. 17.
728x90
반응형

 

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(): 숫자나 데이터를 문자열로 변환.

   ㉱ 주의 사항: 유효한 값인지 확인하고, 오류를 방지하기 위해 입력 값 검증 필요.

 

 

 

 

 

728x90
반응형