목록으로

프로그래밍 · Python

Python 입문 시리즈 #4: input과 print로 프로그램과 대화하기

BeanCon
Python 입문자가 input과 print로 사용자 입력과 출력을 학습하는 과정을 표현한 대표 이미지

Python 입문 시리즈 4편입니다. 입력과 출력의 개념, print() 함수, input() 함수, 입력값이 문자열로 처리되는 이유, int()와 float() 숫자 변환, sep/end 옵션, f-string, 계산기·주문 금액·BMI 실습과 자주 하는 실수를 정리했습니다.

1. 입력과 출력이란?

프로그램은 혼자 중얼거리는 기계가 아닙니다. 사용자에게 결과를 보여주고, 사용자로부터 값을 입력받으며 동작합니다.

이때 사용하는 개념이 바로 입력(Input)과 출력(Output)입니다.

입력(Input)  → 사용자가 프로그램에 값을 전달하는 것
출력(Output) → 프로그램이 사용자에게 결과를 보여주는 것

예를 들어 로그인 화면에서 사용자는 아이디와 비밀번호를 입력합니다. 프로그램은 로그인 성공 또는 실패 메시지를 출력합니다.

핵심 개념

입력과 출력은 프로그램이 사용자와 대화하는 가장 기본적인 방법입니다.

2. print() 함수로 출력하기

Python에서 화면에 내용을 출력할 때는 print() 함수를 사용합니다.

print("Hello Python")

실행 결과입니다.

Hello Python

여러 줄 출력하기

print("Python 공부 시작")
print("오늘은 입력과 출력을 배웁니다")
print("하나씩 천천히 따라오세요")

실행 결과입니다.

Python 공부 시작
오늘은 입력과 출력을 배웁니다
하나씩 천천히 따라오세요

print()를 여러 번 사용하면 줄이 바뀌면서 출력됩니다.

숫자 출력하기

문자뿐만 아니라 숫자도 출력할 수 있습니다.

print(100)
print(10 + 20)
print(50 * 2)

실행 결과입니다.

100
30
100

숫자는 따옴표 없이 작성해도 됩니다.

변수 출력하기

name = "홍길동"
age = 25

print(name)
print(age)

실행 결과입니다.

홍길동
25

문자열과 변수 함께 출력하기

name = "홍길동"

print("이름 :", name)

실행 결과입니다.

이름 : 홍길동

print() 함수 안에서 쉼표를 사용하면 여러 값을 함께 출력할 수 있습니다.

3. input() 함수로 입력받기

사용자에게 값을 입력받을 때는 input() 함수를 사용합니다.

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

print("안녕하세요", name)

실행 예시입니다.

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

여기서 input()은 사용자가 입력한 값을 변수에 저장합니다.

input() 동작 흐름

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

이 코드는 다음 순서로 동작합니다.

1. "이름을 입력하세요: " 문장을 화면에 보여준다.
2. 사용자가 키보드로 값을 입력한다.
3. Enter를 누르면 입력값이 name 변수에 저장된다.

4. 입력값은 왜 문자열일까?

Python의 input() 함수는 입력받은 값을 항상 문자열(String)로 처리합니다.

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

print(type(age))

실행 예시입니다.

나이를 입력하세요: 25
<class 'str'>

분명 숫자 25를 입력했지만 Python은 문자열로 인식합니다.

주의

input()으로 받은 값은 계산하기 전에 int() 또는 float()로 변환해야 합니다.

5. 숫자 입력 처리하기

입력받은 값으로 계산을 하려면 숫자로 변환해야 합니다. 정수로 변환할 때는 int()를 사용합니다.

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

print(age + 1)

실행 예시입니다.

나이를 입력하세요: 25
26

한 줄로 작성하기

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

print(age + 1)

실행 예시입니다.

나이를 입력하세요: 25
26

초보 단계에서는 두 줄로 나누어 작성하는 방식이 더 이해하기 쉽습니다.

실수 입력 처리하기

키나 몸무게처럼 소수점이 있는 숫자는 float()를 사용합니다.

height = float(input("키를 입력하세요: "))

print("입력한 키:", height)

실행 예시입니다.

키를 입력하세요: 175.5
입력한 키: 175.5
입력 목적변환 함수예시
정수 입력int()age = int(input("나이를 입력하세요: "))
실수 입력float()height = float(input("키를 입력하세요: "))
문자열 입력변환 없음name = input("이름을 입력하세요: ")

6. 여러 값을 출력하는 방법

print() 함수는 여러 값을 동시에 출력할 수 있습니다.

name = "홍길동"
age = 25

print("이름:", name, "나이:", age)

실행 결과입니다.

이름: 홍길동 나이: 25

sep 옵션 사용하기

sep은 값과 값 사이에 들어갈 문자를 지정합니다.

print("2026", "07", "08", sep="-")

실행 결과입니다.

2026-07-08

다른 예시입니다.

print("Python", "Java", "JavaScript", sep=" | ")

실행 결과입니다.

Python | Java | JavaScript

end 옵션 사용하기

기본적으로 print()는 출력 후 줄바꿈을 합니다. end 옵션을 사용하면 마지막에 붙일 문자를 직접 정할 수 있습니다.

print("Python", end=" ")
print("완전정복")

실행 결과입니다.

Python 완전정복

7. f-string으로 보기 좋게 출력하기

Python에서 가장 많이 사용하는 출력 방식 중 하나가 f-string입니다. 변수와 문장을 깔끔하게 조합할 수 있습니다.

name = "홍길동"
age = 25

print(f"이름은 {name}이고, 나이는 {age}살입니다.")

실행 결과입니다.

이름은 홍길동이고, 나이는 25살입니다.

f-string 계산식 사용

f-string 안에서는 간단한 계산도 가능합니다.

price = 10000
quantity = 3

print(f"총 금액은 {price * quantity}원입니다.")

실행 결과입니다.

총 금액은 30000원입니다.

8. 실습 예제

실습 예제 1: 이름 인사 프로그램

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

print(f"{name}님, Python 공부를 시작합니다!")

실행 예시입니다.

이름을 입력하세요: 홍길동
홍길동님, Python 공부를 시작합니다!

실습 예제 2: 나이 계산 프로그램

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

next_year_age = age + 1

print(f"내년에는 {next_year_age}살이 됩니다.")

실행 예시입니다.

현재 나이를 입력하세요: 25
내년에는 26살이 됩니다.

실습 예제 3: 간단한 계산기

num1 = int(input("첫 번째 숫자 입력: "))
num2 = int(input("두 번째 숫자 입력: "))

print(f"더하기 결과: {num1 + num2}")
print(f"빼기 결과: {num1 - num2}")
print(f"곱하기 결과: {num1 * num2}")
print(f"나누기 결과: {num1 / num2}")

실행 예시입니다.

첫 번째 숫자 입력: 10
두 번째 숫자 입력: 5
더하기 결과: 15
빼기 결과: 5
곱하기 결과: 50
나누기 결과: 2.0

실습 예제 4: 쇼핑몰 주문 금액 계산기

product_name = input("상품명을 입력하세요: ")
price = int(input("상품 가격을 입력하세요: "))
quantity = int(input("구매 수량을 입력하세요: "))

total_price = price * quantity

print("----- 주문 정보 -----")
print(f"상품명: {product_name}")
print(f"상품 가격: {price}원")
print(f"구매 수량: {quantity}개")
print(f"총 결제 금액: {total_price}원")

실행 예시입니다.

상품명을 입력하세요: 키보드
상품 가격을 입력하세요: 50000
구매 수량을 입력하세요: 2
----- 주문 정보 -----
상품명: 키보드
상품 가격: 50000원
구매 수량: 2개
총 결제 금액: 100000원

실습 예제 5: BMI 계산기 기초 버전

height = float(input("키를 미터 단위로 입력하세요 예: 1.75: "))
weight = float(input("몸무게를 입력하세요: "))

bmi = weight / (height * height)

print(f"BMI 값은 {bmi}입니다.")

실행 예시입니다.

키를 미터 단위로 입력하세요 예: 1.75: 1.75
몸무게를 입력하세요: 70
BMI 값은 22.857142857142858입니다.

소수점이 너무 길게 출력되므로 다음처럼 소수점 둘째 자리까지 출력할 수 있습니다.

print(f"BMI 값은 {bmi:.2f}입니다.")

실행 결과입니다.

BMI 값은 22.86입니다.

9. 자주 하는 실수

숫자 변환을 하지 않는 경우

input() 값은 문자열이므로 int()나 float()로 변환하지 않으면 숫자 덧셈이 아니라 문자열 연결이 됩니다.

int()에 소수 입력

175.5처럼 소수점이 있는 값은 int()가 아니라 float()로 처리해야 합니다.

따옴표 위치 실수

문자열은 시작 따옴표와 끝 따옴표가 쌍으로 있어야 합니다.

변수명을 따옴표 안에 넣는 실수

print("name")은 변수 값이 아니라 name이라는 글자를 출력합니다.

숫자 변환을 하지 않는 경우

잘못된 코드입니다.

num1 = input("첫 번째 숫자: ")
num2 = input("두 번째 숫자: ")

print(num1 + num2)

실행 예시입니다.

첫 번째 숫자: 10
두 번째 숫자: 20
1020

숫자 덧셈이 아니라 문자열 연결이 됩니다.

올바른 코드입니다.

num1 = int(input("첫 번째 숫자: "))
num2 = int(input("두 번째 숫자: "))

print(num1 + num2)

실행 결과입니다.

30

int()에 소수 입력

height = int(input("키를 입력하세요: "))

사용자가 175.5를 입력하면 오류가 발생합니다. 소수점이 필요한 값은 float()를 사용해야 합니다.

height = float(input("키를 입력하세요: "))

따옴표 위치 실수

잘못된 코드입니다.

print("안녕하세요)

올바른 코드입니다.

print("안녕하세요")

문자열은 시작 따옴표와 끝 따옴표가 쌍으로 있어야 합니다.

변수명을 따옴표 안에 넣는 실수

name = "홍길동"

print("name")

실행 결과입니다.

name

변수 값을 출력하려면 따옴표 없이 작성해야 합니다.

print(name)

실행 결과입니다.

홍길동

10. 정리와 다음 편 예고

실무에서는 어떻게 사용될까?

입력과 출력은 실제 프로그램의 거의 모든 영역에서 사용됩니다.

회원가입 화면에서 이름과 이메일 입력
로그인 화면에서 아이디와 비밀번호 입력
쇼핑몰에서 상품 수량 입력
관리자 페이지에서 검색어 입력
AI 챗봇에서 질문 입력
데이터 분석 프로그램에서 파일명 입력
자동화 프로그램에서 실행 옵션 입력

사용자 입력을 받고, 처리한 결과를 출력하는 구조는 모든 프로그램의 출발점입니다.

핵심 정리
  • print()는 화면에 값을 출력합니다.
  • input()은 사용자에게 값을 입력받습니다.
  • input()으로 받은 값은 기본적으로 문자열입니다.
  • 숫자 계산을 하려면 int() 또는 float()로 변환해야 합니다.
  • f-string을 사용하면 문장과 변수를 깔끔하게 조합할 수 있습니다.
  • sep, end 옵션으로 출력 형식을 조절할 수 있습니다.

입력과 출력을 이해하면 프로그램이 단순한 코드 조각에서 사용자와 대화하는 작은 도구로 변합니다.

실습 과제

아래 조건을 만족하는 자기소개 프로그램을 만들어보세요.

1. 이름을 입력받는다.
2. 나이를 입력받는다.
3. 사는 지역을 입력받는다.
4. 관심 분야를 입력받는다.
5. f-string을 사용하여 한 문장으로 출력한다.

예상 출력입니다.

안녕하세요. 저는 홍길동입니다. 나이는 25살이고, 서울에 살고 있습니다. 관심 분야는 AI입니다.

다음 편 예고

Python 입문 연재 5
  • 조건문 if 이해하기
  • if, else, elif 사용하기
  • 조건에 따라 다르게 동작하는 프로그램 만들기

댓글

0

댓글을 불러오는 중입니다.