오늘의 파이썬_[함수] 데이터 입력 받기, input(), input().split(), map(int, input().split()), 파이썬 데이터 입력

728x90
반응형

오늘의 포스팅은 파이썬에서 데이터 입력받기. 백준문제를 풀다가 시작하자 마자 막혔다ㅋㅋㅋ휴 나의 수준이란..

 

파이썬에서 데이터를 입력받기 위해서는 기본적으로 input()함수를 이용한다. 

 

a = input()
print(a)

위 코드를 실행하고 터미널에 어떤 데이터(문자 or 숫자 등)을 입력하면 입력한 그대로 출력하는걸 확인 할 수 있다. 예를들어 10을 입력하면 10이 그대로 출력되고, Hello 를 입력해도 그대로 Hello가 출력된다. 입력한 값이 숫자던 문자던 상관없이 input()함수를 이용해 데이터를 입력받으면 모두 문자열로 반환한다. type()함수를 이용해 확인해자.

 

a = input()
print(type(a))

위 코드에서 어떤 값을 입력하면 변수 a 의 타입을 알려준다. <class 'str'> 변수 a는 문자열이란 뜻이다. 

 

입력받은 데이터를 문자형이 아닌 다른 형으로 변환하려면 형변환을 해줘야한다. 예를 들어 정수형으로 변환하고 싶으면 int()함수를 이용한다. 

 

a = int(intput())
print(a)
print(type(a))

10을 입력하면 10이 출력되고 데이터 타입은 int형으로 출력될거다. 여기에 문자를 입력하면??? 당연히 에러가 발생한다. 입력받은 문자를 int형으로 변환할 수 없기때문이다. 

 

 

이번에는 input()함수를 이용해 여러개의 데이터를 입력받는 방법을 알아보자!

a, b = input().split()
print(a, b)
print(type(a), type(b))

split()함수는 공백을 기준으로 데이터를 분리한다. Hello Python을 입력하면 a에는 Hello, b에는 Python이 저장된다. 

데이터 타입은 모두 str이다. 

 

그럼 두개의 숫자데이터를 입력받으려면 ????

 

map()함수를 조합해 사용하면된다.

a, b = map(int, input().split())
print(a, b)
print(type(a), type(b))

10 20 을 입력하면 10과 20이 그대로 출력되고 데이터 타입이 int형인걸 확인할 수 있다. map의 첫번쨰 전달인자를 원하는 데이터 타입으로 변경하면 입력받는 데이터 타입을 변경할 수 있다. 여기서도 위와 같이 문자를 입력하면 에러가 발생한다. 

 

map에 대해서는 ..다음 포스팅에서 

 

- 끝 -

728x90
반응형