본문 바로가기

Python

[Python] 데이터 입력 받기 (input)

반응형

[Python] 데이터 입력 받기 (input)

 

 

사용자가 입력한 값을 어떤 변수에 대입하고 싶은 경우에, input 함수를 이용한다.

input 함수는 입력 받은 데이터를 반드시 '문자열' 로 입력을 받기 때문에

다른 데이터 타입으로 이용하기 위해서는 입력을 받은 변수의 타입을 바꿔주어야 한다.

예시를 통해서 살펴보자.

 

 

위의 코드는 a라는 변수에 내가 입력한 값을 할당하는 과정이다.

첫 번째 줄에 a = input( ) 을 수행하면 그 다음에 입력할 수 있는 두 번째 줄로 넘어가게 된다.

그리고 그 줄에 자신이 입력하고 싶은 문자열을 입력한다.

그러면 a에 입력한 문자열이 할당이 된다.

 

세 번째 줄에서 a를 출력해보면 입력했던 문자열이 나오는 것을 알 수 있다.

 

 

다음 예시로는 input안에 문자열을 넣는 경우이다.

 

 

위와 같이 input안에 문자열을 넣는 경우에는, input 안의 문자열을 출력하고 그 후에 입력을 받게 된다.

 

따라서 아래와 같이 출력된 문자열 뒤에 입력을 하게 되면 a에 할당이 된다.

 

 

 

아래의 예시는 원하는 데이터 타입으로 입력을 받는 경우이다.

 

 

데이터 타입을 바꾸기 위해서는 문자열을 정수로 바꾸는 함수 int( ) , 실수로 바꾸는 함수 float( )

input 함수에 씌워준다.

(물론 정수 형태의 문자열인 경우 int, 실수 형태의 문자열인 경우 float 함수를 사용가능하다)

 

type( ) 함수변수의 데이터 타입을 알려주는 함수이다.

따라서 위의 코드를 보면 a의 type은 int 객체, b의 type은 float 객체로 올바르게 바뀐 것을 알 수 있다.

 

 

아래의 예시는 여러 변수에 한번에 데이터를 입력 받는 경우이다.

 

 

여러 변수에 한번에 데이터를 담고 싶으면 split( ) 함수를 이용한다.

split( ) 함수는 str.split( ) 과 같이 이용하며, 안에 아무 것도 넣지 않고 이용하면 주어진 문자열은 공백을 기준으로

모두 나뉘어 리스트에 담기게 된다.

(split 함수에 대한 자세한 설명은 후에 '문자열' 에 대한 게시글에서 작성할 예정이다)

 

 

위와 같이 문자열로 "나는 사과를 먹고싶다" 라고 쓰게 되면

split 함수로 인해서 "나는 사과를 먹고싶다" 라는 문자열이 ['나는' , '사과를' , '먹고싶다'] 라는 리스트로 바뀌게 된다.

따라서 a, b, c에 각각 '나는', '사과를' , '먹고싶다' 가 할당이 된다.

 

여러 정수를 한번에 입력받는 경우 등도 있는데, 이 경우에

int( input( ).split( ) ) 과 같이 이용하면 안되고, map이라는 또 다른 함수를 이용해야 한다.

그 이유는 int( ) 함수는 정수형태의 문자열을 정수로 바꿔주는데 split을 이용하면 리스트로 바뀌기 때문이다.

map 함수에 대한 것은 이후에 자세히 다뤄보도록 하겠다.

 

 

 

 

 

PC로 보시는 것을 권장합니다.

피드백은 항상 환영입니다.

 

 

 

 

 

 

 

 

 

반응형