본문 바로가기
지식을 알아가는 시간 지식을 알아가는 시간

파이썬 print()와 input() 사용법: 화면에 출력하고 입력받기

읽는 시간 약 7분

프로그램은 값을 받아서 결과를 보여 주는 일을 합니다. 파이썬에서 결과를 화면에 보여 주는 도구가 print()이고, 사용자에게 값을 입력받는 도구가 input()입니다. 이 글에서는 두 함수의 기본 사용법과 초보자가 자주 만나는 에러를 직접 실행한 결과와 함께 정리합니다.

이 글은 파이썬이 이미 설치되어 있다는 전제로 설명합니다. 변수 개념이 낯설다면 프로그래밍에서 변수(Variable)란? 사탕 상자로 이해하기 글을 먼저 읽어 보세요.

print()로 글자 출력하기

print()는 괄호 안의 내용을 화면에 보여 줍니다. 글자는 따옴표로 감싸야 합니다.

print("안녕하세요")

실행 결과는 다음과 같습니다.

안녕하세요

print()의 sep와 end 옵션

값을 쉼표로 여러 개 넣으면 기본적으로 띄어쓰기로 구분되어 출력됩니다. sep은 값 사이에 들어갈 글자를, end는 출력이 끝난 뒤에 붙을 글자를 정합니다. end를 따로 정하지 않으면 줄바꿈이 들어갑니다.

print("파이썬", "입문")
print("2026", "10", "16", sep="-")
print("로딩", end="...")
print("완료")

실행 결과는 다음과 같습니다.

파이썬 입문
2026-10-16
로딩...완료

세 번째 줄은 end=”…” 때문에 줄이 바뀌지 않아서, 다음 print()의 “완료”가 같은 줄에 이어서 나옵니다.

input()으로 입력받기

input()은 사용자가 키보드로 입력한 값을 받아 옵니다. 괄호 안에 적은 글자는 입력을 안내하는 문구로 먼저 화면에 나옵니다.

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

실행한 뒤 철수를 입력하면 결과는 다음과 같습니다.

이름을 입력하세요: 철수
안녕하세요, 철수
<class 'str'>

마지막 줄의 <class ‘str’>는 input()으로 받은 값이 문자열(str)이라는 뜻입니다.

숫자를 입력해도 문자열로 받는다

input()은 숫자를 입력해도 문자열로 받습니다. 그래서 바로 계산하면 에러가 납니다.

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

나이에 20을 입력하면 에러 메시지의 마지막 줄에 다음과 같이 나옵니다.

TypeError: can only concatenate str (not "int") to str

문자열(str)에 정수(int)를 이어 붙일 수 없다는 뜻입니다. 에러 화면을 읽는 방법이 궁금하다면 에러가 났을 때 스택 트레이스를 읽고 원인을 찾는 방법 글을 참고하세요.

int()로 숫자로 바꾸기

int()로 감싸면 문자열이 정수로 바뀝니다. 출력할 때는 글자 앞에 f를 붙이고 { } 안에 변수나 계산식을 넣는 f-문자열을 쓰면 편합니다.

age = int(input("나이를 입력하세요: "))
print(f"내년에는 {age + 1}살이 됩니다.")

20을 입력하면 결과는 다음과 같습니다.

나이를 입력하세요: 20
내년에는 21살이 됩니다.

숫자가 아닌 값을 입력하면

int()에 숫자가 아닌 글자가 들어가면 에러가 납니다.

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

abc를 입력하면 에러 메시지의 마지막 줄은 다음과 같습니다.

ValueError: invalid literal for int() with base 10: 'abc'

이런 입력에도 프로그램이 멈추지 않게 하는 방법은 try-except라는 문법으로 처리할 수 있습니다. 이 내용은 이후 글에서 따로 다루겠습니다.

연습: 두 숫자를 입력받아 더하기

배운 내용을 합쳐서 두 숫자를 입력받아 더하는 코드를 만들어 보겠습니다. input()으로 받은 값을 int()로 바꿔서 변수에 담고, f-문자열로 결과를 출력합니다.

a = int(input("첫 번째 숫자: "))
b = int(input("두 번째 숫자: "))
print(f"{a} + {b} = {a + b}")

3과 5를 차례로 입력하면 결과는 다음과 같습니다.

첫 번째 숫자: 3
두 번째 숫자: 5
3 + 5 = 8

입력받은 값을 int()로 바꾸지 않으면 3과 5가 숫자가 아닌 글자로 취급되어 8이 아니라 35처럼 이어 붙은 결과가 나옵니다. 숫자 계산이 목적일 때는 변환을 빠뜨리지 않는 것이 중요합니다.

소수를 입력받을 때는 float() 사용하기

12.5처럼 소수점이 있는 값을 입력받을 때는 int() 대신 float()를 사용합니다. int()에 12.5 같은 글자를 넣으면 에러가 나기 때문입니다.

price = float(input("가격을 입력하세요: "))
print(f"할인가: {price * 0.9}")

가격에 12.5를 입력하면 10% 할인된 값이 다음과 같이 출력됩니다.

가격을 입력하세요: 12.5
할인가: 11.25

정수와 실수의 차이가 궁금하다면 파이썬 정수(int)와 실수(float)의 차이점 및 계산 시 주의할 점 글을 함께 읽어 보세요.

코드 실행하는 방법

맥(Mac)에서는 터미널을 열고, 코드를 저장한 파일(예: practice.py)이 있는 폴더로 이동한 뒤 아래 명령어로 실행합니다. 파이썬이 설치되어 있는지는 python3 --version으로 확인할 수 있습니다.

python3 practice.py

윈도우에서는 python3 대신 python 또는 py를 사용하는 경우가 많습니다. 실행이 안 될 때는 설치할 때 PATH를 등록했는지 확인해 보세요.

처음 쓸 때 자주 하는 실수

따옴표나 괄호를 열고 닫지 않으면 SyntaxError가 납니다. 자세한 내용은 파이썬 실행 시 자주 발생하는 SyntaxError (문법 오류) 원인과 해결법 글을 참고하세요.

변수 이름을 숫자로 시작하거나 이름 중간에 띄어쓰기를 넣어도 에러가 납니다. 파이썬 변수 이름 지을 때 피해야 할 규칙과 에러 대처법 글에서 자세히 볼 수 있습니다.

따옴표는 한글 입력 상태에서 나오는 둥근 따옴표(“ ”)가 아니라 키보드의 곧은 따옴표(” “)를 써야 합니다.

정리

print()는 값을 화면에 출력하고, sep과 end로 출력 모양을 바꿀 수 있습니다. input()은 사용자의 입력을 받으며 결과는 항상 문자열입니다. 숫자로 계산하려면 int()나 float()로 바꿔야 합니다.

마무리

저도 이 글을 쓰면서 int()로 감싼 코드를 터미널에서 직접 실행해 봤습니다. 나이에 20을 입력하니 “내년에는 21살이 됩니다.”라는 결과가 나왔고, 입력한 값에 1을 더하는 계산이 정상적으로 되는 것을 확인했습니다.

문자열, 정수, 실수 같은 데이터 타입(자료형)이 궁금하다면 “프로그래밍 언어에서 데이터 타입(자료형)이란 무엇이며 왜 구분할까?” 글도 함께 읽어 보세요.

여백
함께 보면 좋은 글

댓글 0

첫 댓글을 남겨보세요.

광고 차단 알림

광고 클릭 제한을 초과하여 광고가 차단되었습니다.

단시간에 반복적인 광고 클릭은 시스템에 의해 감지되며, IP가 수집되어 사이트 관리자가 확인 가능합니다.