본문 바로가기
컴퓨터 언어/초보자를 위한 파이썬

[초보자를 위한 파이썬] 3화 - 입출력

by woojin1354 2024. 8. 31.
728x90

현대에 사용되는 대부분의 프로그램은 사용자 입력에 대한 결과를 출력합니다. 이번에는 파이썬에서의 입력과 출력에 대해 다뤄보겠습니다.

1. 입력

파이썬의 입력은 주로 input() 또는 sys 모듈에 있는 readline()을 많이 사용합니다. 이번에는 input()을 위주로 설명하겠습니다.

input()

input()은 사용자가 입력한 내용을 문자열(string)형태로 반환합니다.

예를 들어, 사용자 입력을 A라는 변수에 할당하려면 다음과 같이 사용합니다.

A = input()

만약, 사용자가 "ABC"라고 입력하게 된다면 input() 부분은 "ABC"로 대치됩니다(="ABC" 바뀌어 놓입니다).

숫자형 입력

input()은 문자열 자료형입니다. 형변환을 통해 정수형(int) 또는 실수형(float)으로 변환할 수 있습니다.

A = int(input())
B = float(input())

아래 예제 코드에서 입력으로 "5"가 주어지면 3과 곱해지므로, 변수 B의 값은 15가 됩니다.

A = int(input())
B = A * 5

 

복수의 문자열 입력

input()의 메서드(기능) 중 하나인 split()을 이용하여 입력된 여러 개의 데이터를 리스트로 만들 수 있습니다.

아래 예제 코드에서 "5 A 3 CDD !!"를 입력하면, 입력된 문자열이 공백(white space) 기준으로 쪼개지고 리스트에 담겨서 ["5", "A", "3", "CDD", "!!"]가 됩니다.
단, 리스트 내의 데이터들은 문자열 자료형임에 유의하여야합니다.

A = input().split()

복수의 숫자 입력

여러 숫자가 입력되었을 때, 이를 각각 숫자형으로 다룰 수 있습니다.

실행 과정을 먼저 설명하겠습니다.
첫번째로,  input()으로 문자열을 입력합니다.
두번째로, split() 메서드(기능)을 통해 리스트에 문자열들이 담긴 형태로 만듭니다.
세번째로, map() 함수를 이용하여 특정한 자료형으로 변환합니다. 변환 결과는 map 자료형입니다.
네번째로, map 자료형은 인덱스로 접근이 불가하므로 다루기 편한 list 자료형으로 변환하려 합니다. list() 함수를 이용하여 map 자료형을 리스트 자료형으로 변환합니다.

예시를 통해 살펴보겠습니다. 입력으로 주어진 "1 2 3 4"을 여러 개의 정수형이 담긴 리스트 자료형으로 바꾸는 상황으로 가정하겠습니다.

첫번째 과정으로 "1 2 3 4"를 입력받습니다. 이는 문자열 자료형입니다.

두번째로 split() 메서드를 이용하여 리스트 내에 문자열들이 존재하는 형태로 만듭니다.
["1", "2", "3", "4"]

세번째로 map() 함수를 이용하여 리스트 내의 문자형들을 모두 int형으로 변환합니다. 이는 map 자료형입니다.

네번째로 list() 함수를 이용하여 map 자료형을 리스트 자료형으로 변환합니다.

A = input()
B = A.split()
C = map(int, B)
D = list(C)

위의 예시는 아래와 같은 형태로도 사용 가능합니다.

A = list(map(int, input().split()))

만약, 정수형(int)이 아닌 실수형인 경우에는 map함수를 사용할 때 int 대신 float을 사용하면 됩니다.

2. 출력

출력 함수에는 다양한 함수가 존재하지만 그 중 print() 함수에 대해 소개하겠습니다.

print()

print() 함수는 괄호 안에 출력하고 싶은 요소를 콤마로 구분하여 넣으면 됩니다. 기본적으로 print()는 각 요소를 공백으로 구분하여 출력하고, 모든 요소를 출력한 후에는 줄바꿈을 수행합니다.

# Hello, World! 출력
print("Hello, World!")

# Hello World ! 출력
print("Hello", "World", "!")

print() 함수는 다양한 매개변수를 통해 출력 형식을 조절할 수 있습니다.

"sep"는 출력되는 각 아이템 사이에 삽입할 문자열을 지정합니다. 기본값은 공백 문자(' ')입니다.

"end"는 모든 아이템이 출력된 후에 추가할 문자열을 지정합니다. 기본값은 줄바꿈 문자('\n')입니다.

이 외에도 file, flush가 존재합니다.

# Hello-world! 출력
# 구분자가 공백이 아닌 "-", 문장 끝부분 ! 이후 줄바꿈
print("Hello", "world", sep="-", end="!\n")

# Goodbye*world. 출력
print("Goodbye", "world", sep="*", end=".\n")

 

728x90