본문 바로가기
언어/Python

파이썬 입출력(input())

by 맑은청이 2020. 9. 21.
728x90
반응형

파이썬 입력

 

알고리즘 문제를 풀 때 첫 단추는 '데이터 입력 받기' 입니다. 

 

파이썬에서는 데이터를 입력 받을 때 input() 을 사용합니다. 

input()의 경우에는 한 줄의 문자열을 입력 받게 해줍니다. 

문자열로 입력받기 때문에 이를 정수형으로 바꿔주려면 int() 함수를 사용해야합니다. 

그리고 여러 개의 입력을 받을 때는 공백으로 구분 되는 경우가 많습니다. 

그래서 입력을 받은 문자열을 띄어쓰기로 구분해서 각각 정수자료형으로 저장하는 코드는 다음과 같습니다. 

 

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

 

여기서 map()은 모든 원소에 int() 함수를 적용하는 역할을 합니다. 

최종적으로 list()로 다시 바꿔서 이를 입력받은 문자열을 띄어쓰기로 구분해 각각 숫자 자료형으로 저장합니다. 

 

파이썬은 구분자가 줄 바뀜인지 공백인지에 따라 다른 처리를 요구합니다. 

 

만약 입력되는 수가 적다면 map(int,input(),split())를 사용할 수도 있습니다. 

 

 

C++에서 cin 의 속도가 너무 느려 C의 라이브러리에서 scanf를 가져와서 사용하는 거처럼 파이썬도 input()으로 몇천개의 입력을 받으면 시간초과를 받을 수 있습니다. 

 

파이썬의 경우에는 sys 라이브러리에 정의된 sys.stdin.readline() 함수를 사용합니다. 

 

 

import sys

sys.stdin.readline().rstrip()

 

 

sys 라이브러리를 사용할 때는 한 줄 입력 받고 rstrip() 함수를 꼭 호출해야합니다. 

readline()으로 입력하면 입력 후 엔터가 줄바꿈 기호로 되는데 이 공백 문자를 제거하려면 rstrip() 함수를 사용해야합니다.

 


파이썬 출력

 

파이썬의 print()는 기본적으로 출력 이후 줄 바뀜을 수행합니다. 

따라서 print()를 사용할 때마다 줄이 바뀐다고 볼 수 있습니다.

또 문자열과 함께 출력할 때도 있는데 

 

print("정답" + 정수 + "입니다.") 

 

이런 식으로 적으면 에러가 나게 됩니다. 

다음처럼 문자열 자료형으로 바꾸어 주어야합니다. 

 

print("정답" + str(정수) + "입니다." )

 

아니면 콤마를 통해 따로 따로 출력해주면 됩니다. 

 

print("정답" , 정수 , "입니다.")

 

python 3.6 이상 버전 부터는 f-string 문법이 사용 가능합니다.

단순히 중괄호 안에 변수를 넣어서 출력이 가능합니다. 

 

print(f"정답은 {정수}입니다.")

 

728x90
반응형

'언어 > Python' 카테고리의 다른 글

파이썬 자료형  (0) 2020.09.19