SW.AI 트랙/python

[Python] 파이썬. input/map/split 입력값 받기

AI 봇 2023. 3. 23. 19:17

파이썬 입력 값 다양하기 받는 방법 (input, map, split).

 

01. 문자열 입력

input()만 사용하면 문자열을 입력받게 된다.

a = input()
print(type(a))
print(a)
abcd
<class 'str'>
abcd

 

input 값에 숫자를 입력해도 문자열로 받게 된다.

1234
<class 'str'>
1234

 

 

02. 숫자 입력받기

내장함수인 int()를 활용해서 input 값을 형 변환해서 숫자를 입력받는다.

a = int(input())
print(type(a))
print(a)
1234
<class 'int'>
1234

 

 

03. split 으로 문자열을 쪼개서 입력받기

split 함수의 사용 : "문자열.split(분류조건, 나눌횟수)"를 통해 리스트로 return 한다.

str = "Sunday Morning"
print(str.split())

쉽표를 기준으로 분리된 결과값이 나옵니다.

['Sunday', 'Morning']

 

입력값을 받는 경우에는

str_list = input().split()
print(type(str_list))
print(str_list)
Sunday Morning
<class 'list'>
['Sunday', 'Morning']

 

또 다른 방법으로, 입력값을 나누어 받는 경우

a, b = input().split()
print(a)
print(b)
Sunday Morning
Sunday
Morning

 

 

04. map 함수를 활용, 숫자를 쪼개서 입력받기

split과 map 함수를 활용해서 숫자를 다중 입력 받을 수 있습니다.

map 함수는 map(적용할 함수, 적용할 값)으로 활용할 수 있습니다.

str_list = ['1', '2']
a, b = map(int,str_list)
print(type(a),type(b))
print(a,b)
<class 'int'> <class 'int'>
1 2

 

위를 응용해서, 입력값이 여러 숫자일 경우, 공백을 기준으로 나누고, map 함수를 통해 쪼개서 받을 수 있습니다.

a, b, c = map(int, input().split())
print(type(a),type(b),type(c))
print(a,b,c)
1 10 100
<class 'int'> <class 'int'> <class 'int'>
1 10 100

 

리스트 형으로 변환된 값을 받는 것도 가능합니다.

num_list = list(map(int, input().split()))
print(type(num_list))
print(num_list)
1 10 100
<class 'list'>
[1, 10, 100]