Python 1. 입력 받기

김영훈·2020년 4월 7일
3
post-thumbnail

1. input()

가장 기본적인 입력 방법
한줄씩 통째로 입력을 받는 방법으로
input()은 입력되는 모든 것을 문자열로 취급한다.

a = input()

10 20 30을 입력하면 '10 20 30' 으로 문자열 형태로 변수 a에 저장 된다.

a = int(input())

int()로 input()을 감싸주면 문자열을 정수로 변환하여 a에 저장할 수 있다.

그러나 10만 입력한 경우는 변환이 가능하지만
10 20 30을 입력하면 정수로 변환이 불가능하여 에러가 발생한다.

2. split()

이러한 경우에 split() 함수를 사용하여 공백문자를 기준으로 문자를 나누어주고 이 나눈 값은 리스트에 하나씩 들어가게 된다.

a = input().split()

10 20 30을 입력하였을 때 각각의 값이 리스트에 문자열로 입력이 되었다.

3. map()

위의 입력을 int형으로 받기 원한다면 map() 함수를 사용하여야 한다.

map(func,x) 함수는 리스트 같은 x의 각 요소에 func을 적용시켜 주는 함수이다.

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

map 함수를 사용하면 int형으로 변환된 숫자가 리스트에 입력된 것을 볼수있다.

또한 입력한 숫자를 각자 다른 변수에 저장하고싶다면

a,b,c = map(int,input().split()) 

위와 같이 사용하면 된다.

4. 1차원 배열

1차원 배열을 만들어 0으로 초기화 하려면

a = [0 for _ in range(10)]

a = [0]*10

위의 두 방식이 있다.

5. 2차원 배열

a = [0]*10 

위으 방식으로 10개의 열을 가지는 1차원 배열을 만들면 열의 개수는 정해져있고 행을 여러번 추가해주면 2차원 배열이 만들어진다.

따라서 만약 n 행 m 열의 2차원 배열으 만들고싶다면

a = [[0] * m for _ in range(n)]

이런식으로 만들 수 있다.

먼저 [0] * m 으로 m개의 열을 만들고
이를 n번 반복하여 n행 m열의 2차원 배열을 만드는 것이다.

6. 반복해서 입력받기

만약 여러 줄에 걸쳐 입력을 받아야 하는 경우 int(input())을 for 반복을 통해 입력받을 수 있다.

L,A,B,C,D = [int(input()) for _ in range(5)]

7. 2차원 배열 입력받기

위의 그림처럼 입력받아야 하는 경우

n,m = map(int,input().split())
a = [list(map(int,input())) for _ in range(n)]

위의 경우에는 split()으로 공백만 나누어주면 된다.

n,m = map(int,input().split())
a = [list(map(int,input().split())) for_in range(n)]

From : https://blog.naver.com/wpghks7/221584113312

0개의 댓글