Home 파이썬 여러 줄 입력 받기 stdin.readline
Post
Cancel

파이썬 여러 줄 입력 받기 stdin.readline

코딩테스트를 할때 데이터 입력값이 한두개이거나 한줄에 불과하면 input을 사용하는 것에서 만족했지만 이번에는 이야기가 좀 다릅니다.

1줄당 3개의 값이 들어오는데 몇 줄이 들어오는지 안알려준다?

그럴때 필요한게

sys.stdin.readline() 당연히 sys는 import해서 가져오고 표준 입력(Standard input)은 프로그램에 입력되는 데이터의 표준적인 출처(장비나 파일)를 뜻하며 stdin 으로 줄여 표현합니다.

그리고 readline는 한줄씩 읽겠다는 거지요

아직 끝이 아닙니다. 그대로 변수에다가 저거를 집어 넣는다고 해결되지는 않거든요

변수에 각각 집어 넣어야 한다거나 아니면 리스트로 만들어야 할 수 있습니다.

그럴때 필요한게 map입니다.

1
a,b,c = map(int,sys.stdin.readline().split())

int라는 자료형으로 한줄을 split() 으로 나누어서 abc라는 각 변수에 집어 넣게 됩니다. 여기서 split괄호안에 아무것도 넣지 않으면 띄어쓰기가 기본값입니다. 즉 1 2 3 이라는 한줄이 있으면 abc에는 차례대로 들어가게 되지요

그렇다면 여려줄에 들어오는 것을 리스트로 만들고 싶다면?

1
templist = list(map(int,sys.stdin.readline().split()))

list로 한번 감싸주면 됩니다.

1
2
3
4
temp = []
n = int(sys.stdin.readline())
for i in range(n):
    temp.append(list(map(int,sys.stdin.readline().split())))

이렇게 리스트를 준비하고 반복문을 돌리면 2차원 리스트에 받을 수 있습니다.

This post is licensed under CC BY 4.0 by the author.

Comments powered by Disqus.

파이썬을 이용한 탐색과 맵 자료구조

파이썬을 이용한 sorting 정렬탐색과 선택, 삽입, 버블