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

1단계 : 4. 기본 출력과 입력 (feat. input()으로 사용자 입력 받기)

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

 

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()

728x90
반응형