파이썬을 처음 배우시는 분들이라면 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)
댓글 쓰기