파이썬에서 사용자와 대화하는 첫걸음 – input()

파이썬에서 사용자와 대화하는 첫걸음 – input()

스크립트가 말을 걸었다. 이제 대답할 차례다.
당신이 `input()`을 모른다면, 파이썬은 아직도 독백 중이다.
오늘은 그 독백에 반응을 심어주는 한 줄, input()의 모든 것을 짚어본다.

Thank you for reading this post, don't forget to subscribe!

안녕하세요, 파이썬을 하루에 하나씩 해치우는 시리즈입니다.
오늘의 타겟은 `input()` 함수. 이름부터 심상치 않죠.
이 친구 하나로 코드가 살아있는 인터뷰어처럼 움직입니다.
초보자에게는 마법, 실무자에겐 필수죠. 그럼, 본격적으로 시작해볼까요?

1. 왜 input인가?

프로그래밍은 원래 독백이다. 무조건적인 명령의 연속.
하지만 `input()`이 등장하면서, 그 독백은 질문이 된다.
컴퓨터가 말을 걸고, 사용자가 대답하는 순간.
그때부터 코드는 “상호작용”이 된다.

input()은 파이썬의 최소한의 인터페이스다.
하지만 그 영향력은 치명적이다.
조건문, 반복문, 함수 등 모든 흐름을 사용자의 손에 넘긴다.

input()은 코드에 ‘기다림’을 만들어준다.
기다림이 있다는 건, 반응이 있다는 뜻이다.

2. input()의 문법 완전 정복

다음은 input() 함수의 구조다.
표는 간단하지만, 해석은 정확해야 한다.

항목내용
기본 문법input("메시지")
리턴값사용자가 입력한 문자열(String)
주의사항항상 문자열 반환 → 숫자 처리 시 형변환 필수

사용자 입력은 늘 문자열이다.
이걸 잊으면, 버그는 너를 잊지 않는다.

3. 실전 예제 리스트

말이 아닌 코드로 말하자.
여기 input()의 진짜 활용 예시들이다.

  • 이름을 받아 인사 출력하기

    name = input("이름이 뭐예요? ")
    print(f"안녕하세요, {name}님!")
  • 숫자 입력 후 계산하기

    age = int(input("몇 살이에요? "))
    print(age * 2)
  • 퀴즈 문제 내기

    answer = input("파이썬의 창시자는? ")
    print("정답!" if answer == "귀도" else "오답입니다.")

4. input과 형변환

`input()`은 언제나 문자열(str)을 반환한다.
숫자를 입력받았다고 생각해도, 그건 숫자처럼 생긴 글자일 뿐이다.

int(), float(), bool()처럼
다른 타입으로 감싸주는 것이 **형변환(casting)**이다.


# 문자열을 숫자로 바꾸기
num = int(input("숫자를 입력하세요: "))
print(num * 2)

문자열인 줄 모르고 int 없이 연산하려고 했다면?
ValueError는 예고된 함정이다.

5. input 함수 실수 총정리

많은 초보자들이 input()에서 실수한다.
그 실수는 반복되고, 그 반복은 좌절을 낳는다.

실수문제점해결법
숫자 입력 후 바로 연산문자열이어서 오류 발생int()로 형변환
입력값 없는 Enter빈 문자열 처리 안됨조건문으로 검사
예외 상황 미처리앱이 중단됨try-except로 보호

input은 사소해 보이지만, 실수는 절대 사소하지 않다.

6. 요약 & 숙련 포인트

이제 당신은 `input()`을 단순한 입력 함수로 보지 않을 것이다.
그건 사용자와 대화할 줄 아는 코드의 시작이다.

  • 항상 문자열 반환 → 숫자는 int() 또는 float() 사용
  • 빈 값 처리, 예외 처리 습관화
  • 실전 예제 많이 써보기 → 인터랙션 감각을 기르기

input()은 질문이 아니라,
당신의 프로그램이 말을 걸 준비가 되었는지를 묻는 확인 질문이다.

4. 실전 후기와 사용자 꿀팁

“처음 input() 썼을 때, 그냥 사용자가 뭔가 입력하는 건 줄 알았어요.
그런데 그게 흐름을 바꾼다는 걸… 코드는 그 순간부터 ‘살아있는 것’처럼 느껴졌어요.”

✔ 핵심은 이것!

input()은 단순 입력이 아니라 흐름을 유동적으로 만드는 ‘리액션 포인트’다.

📝 실전 팁

숫자 입력 받을 땐 무조건 int()float() 써라.
그냥 input() 받은 상태에서 연산하면 100% 에러 난다.

그리고 무조건 try-except 써라.
사용자는 예외를 만들고, 개발자는 그걸 예측해야 한다.

⚠️ 실수했던 순간

“사용자한테 숫자 물어봤는데 그냥 input() 받았어요.
계산하려다가 갑자기 에러 뻥!
나중에 보니 input()은 문자열이더라고요.
파이썬이 틀린 게 아니라, 내가 몰랐던 거였죠.”

결국, input은 사용자의 이야기를 듣는 코드다.
듣는 코드가 강하다.

5. 자주 묻는 질문 (FAQ)

Q
input()은 숫자 입력도 받을 수 있나요?

기본적으로 문자열로 받기 때문에 숫자로 쓰려면 int()float()로 감싸줘야 합니다.

Q
input()에 아무것도 안 입력하면 어떻게 되나요?

빈 문자열(“”)이 들어갑니다. 이 상태로 연산하면 에러가 날 수 있으니 예외 처리나 조건문으로 방어해야 합니다.

Q
input()을 여러 번 쓰면 문제가 되나요?

문제 없습니다. 여러 번 쓸수록 대화형 앱처럼 동작하게 됩니다. 다만 입력 순서와 흐름에 신경 써야 합니다.

Q
input()은 웹 브라우저에서도 동작하나요?

input()은 콘솔 환경에 최적화된 함수입니다. 웹에서 입력을 받으려면 자바스크립트나 HTML의 form을 사용해야 합니다.

Q
input() 대신 쓸 수 있는 함수도 있나요?

파이썬 기본에는 input() 하나뿐입니다. GUI 환경이나 웹에서는 다른 입력 방식(UI 입력창, 웹 폼 등)을 사용합니다.

Q
input()으로 받은 값을 바로 출력해도 되나요?

네. print(input(“입력하세요: “))처럼 바로 써도 됩니다. 다만 나중에 재사용할 거라면 변수에 저장하는 게 좋습니다.

6. 시각 요약 & 참고 자료

input 함수 시각 흐름

▲ input()의 데이터 흐름 구조 (출처: 위키피디아)


# 이름과 나이를 입력받고 출력하는 프로그램
name = input("이름을 입력하세요: ")
age = int(input("나이를 입력하세요: "))
print(f"{name}님은 내년에 {age+1}살이 됩니다.")

7. 마무리하며: 질문이 코드가 될 때

이제 당신은 `input()`의 의미를 알았다.
단순히 입력을 받는 함수가 아니라,
사용자와 코드를 연결하는 접점이다.
그리고 접점은 언제나,
“코드가 살아있다”는 증거다.

파이썬이 재미있어지는 건
단순한 계산이 아니라,
**누군가의 반응을 상상하며** 코딩할 때부터다.

다음 편에선 이 입력을 **조건문 if와 연결해보자.**
단순한 입력이 조건이 되고,
조건이 흐름이 되고,
그 흐름이 프로그램이 된다.
당신의 다음 코드는,
**더 똑똑해질 것이다.**

이 글이 도움이 되었나요?

★★★★★


HANSORI.AI_Blog Labs에서 더 알아보기

구독을 신청하면 최신 게시물을 이메일로 받아볼 수 있습니다.