파이썬 input으로 값 받는방법

파이썬을 처음 배우시는 분들이라면 print()로 화면에 출력하는 것은 금방 익히실 텐데요. 그다음으로 꼭 알아야 할 게 바로 사용자로부터 값을 입력받는 방법입니다. 예를 들어 계산기 프로그램을 만든다고 생각해 보세요. 사용자가 숫자 두 개를 입력하면 그걸 더해서 결과를 보여줘야 하잖아요? 이럴 때 필요한 게 바로 input() 함수입니다.



1. input() 함수란?

input() 함수는 사용자로부터 키보드 입력을 받는 함수입니다. 프로그램이 실행되다가 input()을 만나면 잠시 멈추고, 사용자가 뭔가를 입력하고 엔터를 누를 때까지 기다립니다.

input()

이렇게만 써도 되지만, 보통은 사용자에게 뭘 입력하라고 안내 메시지를 보여줍니다.

input("이름을 입력하세요: ")

괄호 안에 문자열을 넣으면 그게 화면에 표시됩니다.

2. 입력받은 값 저장하기

입력받은 값을 사용하려면 변수에 저장해야 합니다.

name = input("이름을 입력하세요: ")
print("안녕하세요,", name, "님!")

실행하면 이렇게 됩니다:

이름을 입력하세요: 홍길동
안녕하세요, 홍길동 님!

간단하죠? 사용자가 입력한 값이 name이라는 변수에 저장되고, 나중에 그 값을 사용할 수 있습니다.

3. input()은 항상 문자열로 저장됩니다

여기서 정말 중요한 개념이 하나 있습니다. input()으로 받은 값은 무조건 문자열(string)입니다.

age = input("나이를 입력하세요: ")
print(type(age))  # <class 'str'> 출력됨

사용자가 25라고 숫자를 입력해도, 파이썬은 이걸 문자열 25로 받아들입니다. 그래서 계산을 하려고 하면 문제가 생깁니다.

age = input("나이를 입력하세요: ")
next_year_age = age + 1  # 에러 발생!

문자열에 숫자 1을 더할 수 없으니까 에러가 나는 거죠.

4. 숫자로 변환하기

계산을 하려면 문자열을 숫자로 바꿔야 합니다. 이때 사용하는 게 int()float() 함수입니다.

정수로 변환하기 - int()

age = input("나이를 입력하세요: ")
age = int(age)  # 문자열을 정수로 변환
next_year_age = age + 1
print("내년에는", next_year_age, "살이 되시네요!")

더 간단하게 한 줄로 쓸 수도 있습니다:

age = int(input("나이를 입력하세요: "))

실수로 변환하기 - float()

height = float(input("키를 입력하세요(cm): "))
print("당신의 키는", height, "cm입니다.")

실수는 소수점이 있는 숫자를 말합니다. 175.5 같은 거요.

5. 여러 개의 값 한 번에 입력받기

코딩 문제를 풀다 보면 "10 20 30" 이런 식으로 여러 숫자를 한 줄에 입력받아야 할 때가 많습니다.

split() 사용하기

text = input("두 숫자를 띄어쓰기로 구분해서 입력하세요: ")
a, b = text.split()
print("첫 번째 숫자:", a)
print("두 번째 숫자:", b)

split()은 문자열을 쪼개주는 함수입니다. 기본적으로 띄어쓰기를 기준으로 쪼갭니다.

입력: 10 20
결과: a = "10", b = "20"

숫자로 변환까지 한 번에 하기

a, b = input("두 숫자를 입력하세요: ").split()
a = int(a)
b = int(b)
print("합계:", a + b)

6. 실전 예제 모음

간단한 계산기 만들기

a = int(input("첫 번째 숫자: "))
b = int(input("두 번째 숫자: "))

print("더하기:", a + b)
print("빼기:", a - b)
print("곱하기:", a * b)
print("나누기:", a / b)

댓글 쓰기