Python의 input() 함수는 사용자가 입력한 값을 프로그램에서 처리할 수 있도록 읽어오는 데 사용됩니다. 이 장에서는 input() 함수의 기본 사용법부터 활용 예제까지 자세히 살펴보며, 사용자 입력을 활용하는 프로그램을 작성하는 방법을 배워봅니다.
1. input() 함수란?
input() 함수는 사용자로부터 입력을 받아들이는 함수입니다.
• 기본적으로 사용자가 입력한 값은 문자열(str)로 처리됩니다.
• 입력받은 값을 변수에 저장하여 다양한 작업에 활용할 수 있습니다.
2. input() 함수의 기본 사용법
㉮ 기본 사용
input() 함수에 표시할 메시지를 문자열로 전달하면, 사용자에게 입력 안내 메시지를 표시할 수 있습니다.
# 사용자 입력 받기
name = input("이름을 입력하세요: ")
print(f"안녕하세요, {name}님!")
실행 결과:
이름을 입력하세요: Alice
안녕하세요, Alice님!
㉯ 변수에 저장하지 않고 직접 사용
입력 값을 변수에 저장하지 않고 바로 출력하거나 처리할 수도 있습니다.
print("안녕하세요,", input("이름을 입력하세요: "))
실행 결과:
이름을 입력하세요: Alice
안녕하세요, Alice
3. 입력 값 데이터 처리
㉮ 문자열 입력 처리
기본적으로 input() 함수는 모든 입력값을 문자열로 저장합니다.
예를 들어, 숫자를 입력하더라도 문자열로 처리됩니다.
# 숫자를 입력하지만 문자열로 저장됨
age = input("나이를 입력하세요: ")
print(type(age)) # <class 'str'>
실행 결과:
나이를 입력하세요: 25
<class 'str'>
㉯ 숫자 입력 처리
입력된 값을 숫자로 변환하려면 int() 또는 float() 함수를 사용해야 합니다.
# 정수 입력
age = int(input("나이를 입력하세요: "))
print(f"내년 나이는 {age + 1}살입니다.")
# 실수 입력
height = float(input("키를 입력하세요(단위: cm): "))
print(f"입력한 키는 {height}cm입니다.")
실행 결과:
나이를 입력하세요: 25
내년 나이는 26살입니다.
키를 입력하세요(단위: cm): 170.5
입력한 키는 170.5cm입니다.
㉰ 여러 값을 동시에 입력받기
사용자가 입력한 문자열을 특정 구분자로 나눈 후, 여러 변수에 저장할 수 있습니다.
• split() 메서드를 사용합니다.
# 이름과 나이를 동시에 입력받기
name, age = input("이름과 나이를 공백으로 구분하여 입력하세요: ").split()
print(f"안녕하세요, {name}님! 나이는 {age}살이군요.")
실행 결과:
이름과 나이를 공백으로 구분하여 입력하세요: Alice 25
안녕하세요, Alice님! 나이는 25살이군요.
4. 입력 값 유효성 검사
사용자가 올바르지 않은 값을 입력했을 때, 이를 처리하는 코드를 작성하면 프로그램의 신뢰성을 높일 수 있습니다.
㉮ 숫자 입력 유효성 검사
문자열 입력이 숫자인지 확인하려면 isdigit() 메서드를 사용합니다.
# 유효한 숫자 입력 확인
age = input("나이를 입력하세요: ")
if age.isdigit():
print(f"입력된 나이는 {age}살입니다.")
else:
print("숫자만 입력해주세요.")
실행 결과:
나이를 입력하세요: 25
입력된 나이는 25살입니다.
나이를 입력하세요: 스물다섯
숫자만 입력해주세요.
㉯ 반복 입력 요청
올바른 값을 입력할 때까지 반복적으로 요청할 수도 있습니다.
# 숫자 입력을 반복적으로 요청
while True:
age = input("나이를 입력하세요: ")
if age.isdigit():
print(f"입력된 나이는 {age}살입니다.")
break
else:
print("유효한 숫자를 입력해주세요.")
5. input() 함수의 다양한 활용 예제
㉮ 계산기 프로그램
# 간단한 덧셈 계산기
num1 = float(input("첫 번째 숫자를 입력하세요: "))
num2 = float(input("두 번째 숫자를 입력하세요: "))
print(f"두 숫자의 합은 {num1 + num2}입니다.")
실행 결과:
첫 번째 숫자를 입력하세요: 10.5
두 번째 숫자를 입력하세요: 20.3
두 숫자의 합은 30.8입니다.
㉯ 설문 조사
# 설문 조사 프로그램
name = input("이름을 입력하세요: ")
age = int(input("나이를 입력하세요: "))
opinion = input("Python을 배우고 싶은 이유를 한 줄로 적어주세요: ")
print("\n[설문 조사 결과]")
print(f"이름: {name}")
print(f"나이: {age}")
print(f"배우고 싶은 이유: {opinion}")
실행 결과:
이름을 입력하세요: Alice
나이를 입력하세요: 25
Python을 배우고 싶은 이유를 한 줄로 적어주세요: 데이터 분석을 하고 싶어서
[설문 조사 결과]
이름: Alice
나이: 25
배우고 싶은 이유: 데이터 분석을 하고 싶어서
6. 자주 발생하는 오류와 해결 방법
㉮ 숫자 변환 오류
숫자로 변환할 수 없는 값을 입력하면 오류가 발생합니다.
age = int(input("나이를 입력하세요: ")) # '스물다섯' 입력 시 ValueError 발생
해결 방법: 입력 값의 유효성을 사전에 검사.
age = input("나이를 입력하세요: ")
if age.isdigit():
age = int(age)
print(f"나이는 {age}살입니다.")
else:
print("유효한 숫자를 입력해주세요.")
7. 요약
input() 함수는 사용자와의 상호작용에서 핵심적인 역할을 합니다.
• 기본적으로 문자열 입력을 처리하며, 숫자나 다른 데이터 타입으로 변환 가능합니다.
• split()을 사용하여 여러 값을 한 번에 입력받을 수 있습니다.
• 유효성 검사를 통해 안전한 입력 처리가 가능합니다.
핵심 정리
㉮ 문자열 입력: name = input("이름을 입력하세요: ")
㉯ 숫자 변환: age = int(input("나이를 입력하세요: "))
㉰ 유효성 검사: age.isdigit()
㉱ 여러 값 입력: a, b = input("값을 입력하세요: ").split()
'코딩교육 > Python 초등교육에서 전문가까지' 카테고리의 다른 글
1단계 : 5. 데이터 종류와 변수 (feat. 변수란? ,변수 선언 및 사용법) (0) | 2025.01.18 |
---|---|
1단계 : 4. 기본 출력과 입력 (feat. 입력 값 데이터 형 변환) (0) | 2025.01.17 |
1단계 : 4. 기본 출력과 입력 (feat. print()로 텍스트와 변수 출력하기) (0) | 2025.01.15 |
1단계 : 3. 첫번째 프로그램: Hello, World! (feat. Python의 기본 구조 이해) (0) | 2025.01.14 |
1단계 : 3. 첫번째 프로그램: Hello, World! (feat. 코드 작성 규칙, 들여쓰기, 주석 활용법) (0) | 2025.01.13 |