검색
회원가입로그인

제10장: 입력과 출력

Chapter 10: 입력과 출력 – 파이썬에서 소통하는 방법

컴퓨터 프로그램이 제대로 동작하기 위해서는 사용자의 입력을 받고 결과를 출력하는 것이 필수적입니다. 파이썬에서 입력과 출력은 프로그래밍의 왕초보라도 손쉽게 익힐 수 있는 기본 중의 기본입니다. 이 장에서는 사용자의 값을 받아들이는 방법, 처리된 결과를 콘솔에 전달하는 방법, 그리고 파일을 다루는 기초까지 단계별로 살펴봅니다.

사용자 입력 받기: input() 함수

파이썬에서 사용자가 직접 값을 입력하게 하려면 input() 함수를 사용합니다. input()은 사용자로부터 한 줄의 데이터를 받아 들이고, 그 데이터를 항상 문자열(str) 형태로 저장합니다. 값을 입력하지 않으면 프로그램은 그 자리에서 잠시 멈춰 입력이 올 때까지 기다립니다.

예시:

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

숫자를 입력받았더라도, 실제로는 문자열로 저장되기 때문에, 계산이 필요한 경우에는 반드시 int()float()로 형변환이 필요합니다.

age = input("나이를 입력하세요: ")  # age는 문자열
age = int(age)  # 숫자로 변환
print("당신은 내년에", age + 1, "살이 됩니다.")

결과 출력하기: print() 함수

사용자에게 정보를 보여주고 싶을 때는 print()를 사용합니다. 다양한 자료형(문자열, 숫자, 변수 등)을 넣을 수 있으며, 여러 값을 콤마로 구분하여 한 번에 출력도 가능합니다. 기본적으로 한 줄이 끝나면 자동으로 줄바꿈이 일어납니다.

score = 95
print("시험 점수는", score, "점입니다.")

print()에는 sep, end 같은 옵션을 통해 출력 모양을 유연하게 바꿀 수도 있습니다. 예를 들어, 여러 값을 사이에 하이픈(-)으로 구분하고 싶다면 다음과 같이 쓸 수 있습니다.

print("사과", "바나나", "포도", sep="-")  # 출력: 사과-바나나-포도

줄바꿈 없이 출력하려면 end 옵션을 활용합니다.

for i in range(3):
    print("*", end="")  # 

입력과 출력 실습 예제

파이썬에서 입력과 출력을 이해하면 사용자와 상호작용하는 프로그램을 쉽게 만들 수 있습니다. 다음 예제를 살펴봅시다.

name = input("이름을 입력하세요: ")
age = int(input("나이를 입력하세요: "))
print(f"{name}님, 내년에는 {age+1}살이 되겠군요!")

파일 입출력의 기초

간단한 값을 입력받고 출력하는 것을 넘어서, 데이터를 파일로 저장하거나 불러오는 방법도 알아야 합니다. 파이썬에서 파일을 다루는 기본적 흐름은 파일 열기 → 작업하기 → 파일 닫기입니다. open() 함수를 통해 파일을 열고, 작업이 끝난 후에는 close()로 닫아줍니다. 최근에는 with 문을 사용해 자동으로 파일을 닫도록 하는 방식을 많이 사용합니다.

텍스트 파일에 데이터를 저장(쓰기):

with open("output.txt", "w", encoding="utf-8") as file:
    file.write("파이썬 파일 입출력 예제입니다.\n")
    file.write("두 번째 줄도 기록해 보아요.")

파일에서 데이터 읽기:

with open("output.txt", "r", encoding="utf-8") as file:
    content = file.read()
    print(content)

실전에서의 입력과 출력의 의미

입력과 출력은 그 자체로 프로그래밍을 '대화'의 수단으로 바꿔줍니다. 입력을 통해 사용자의 의도를 파악하고, 출력을 통해 그 결과를 명확히 보여줍니다. 실생활의 자판기처럼, 입력(버튼 누르기)에 따라 결과(음료 나옴)가 달라지는 것과 같습니다. 입력과 출력을 이해하면, 간단한 계산기부터 데이터 저장 프로그램에 이르기까지, 다양한 파이썬 프로젝트의 기초를 확실하게 다질 수 있습니다.

공유하기
카카오로 공유하기
페이스북 공유하기
트위터로 공유하기
url 복사하기
조회수 : 20
heart