컴퓨터는 잘못이 없다..

[파이썬]입력받기 공부 본문

공부/알고리즘(파이썬)

[파이썬]입력받기 공부

도토리까꿍v 2020. 12. 29. 20:51
Contents 접기

#sys사용

import sys
input = sys.stdin.readline

ex)
sentence = input()

#단 이렇게 입력받을 경우 끝에 '\n'까지 입력 받으므로
sentence.rstrip() 으로 없애주자!
(split(), int()를 써서 입력받으면 자동으로 없어지므로 rstrip()을 쓸 필요 없다.)

 

#두 수를 공백으로 입력받기

n, m = map(int, input().split())

 

#여러 수를 공백 기준으로 입력받아 리스트로 반환

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

▲입력 예

1 2 3

▲출력 예

[1,2,3]

 

#여러 문자를 공백 기준으로 입력받아 리스트로 반환

plans=input().split()

 

#문자열 1줄 입력받기

name = input()

 

#숫자 입력받기 

num = int(input())

 

 

#공백으로 입력받은 수를 리스트로 만들어 리스트에 담기 (2차원 리스트) 

코드1)

#리스트에 리스트 입력받기 

#빈리스트 생성하기 
array = []

#for문으로 n개의 리스트 입력받아 리스트에 담기!!! 
for i in range(n):   
    # 이런식으로 array.append()하면
    # [[1,1,1,1],[1,0,0,1],[1,1,0,1],[1,1,1,1]]
    # 로 2차원 배열이 만들어 질것임!!
    array.append(list(map(int, input().split()))) 
    
    

코드2) 파이썬스럽게

#N은 N줄 입력받는 것 
graph=[list(map(int,input().split())) for _ in range(N)]

▲입력 예

1 1 1 1    
1 0 0 1
1 1 0 1
1 1 1 1

▲결과

[[1,1,1,1],[1,0,0,1],[1,1,0,1],[1,1,1,1]]

 

 

#공백이 없이 입력받은 수를 리스트로 만들어 리스트에 담기(2차원 리스트) ----> 위의 예제와 다른점 split()가 없음!!

코드1)

#2차원 리스트의 맵 정보 입력받기
graph=[]
for i in range(n) : #n개의 리스트를 입력받을 수 있다. 
    graph.append(list(map(int, input())))

코드2) 파이썬스럽게

graph = [list(map(int,input())) for _ in range(n)]

▲입력 예

1111
0000
1111
0000

▲결과 

[[1,1,1,1],[1,0,0,1],[1,1,0,1],[1,1,1,1]]

 

 

#공백이 없이 입력받은 문자를 리스트로 만들어 리스트에 담기(2차원 리스트)

#split()나 int()를 사용하지 않았으므로 rstrip()으로 '\n'을 없애주어야 한다.
dna=[list(input().rstrip()) for _ in range(n)]

▲입력 예

TACG
CGAT
TAAA

 

▲출력 예

[['T', 'A', 'C', 'G'], ['C', 'G', 'A', 'T'], ['T', 'A', 'A', 'A']]

 

 

#n개의 숫자를 리스트에 저장하기

#n개의 정수를 입력받아 리스트에 저장
arr = []
for i in range(n) :
    arr.append(int(input()))

 

▲입력 예

15
27
12

 

▲결과

[15, 27, 12]

 

 

#리스트 안에 튜플 담기

#[(),(),()..] 이렇게 입력받을 수 있다.
arr=[]
for i in range(n) :
    data = input().split()
    arr.append((data[0], int(data[1])))

▲입력 예

홍길동 95
이순신 77

 

▲결과

[(홍길동, 95), (이순신, 77)]

 

Comments