Python에서는 input() 메서드를 통해 입력값을 다양하게 받을 수 있다. (보통 실행 창에서 직접 입력함)
하나씩 알아보자.
1. 문자열 입력
단순하게 input 만을 사용하면 문자열을 입력받게 된다.
a = input() type(a) print(a)2. 숫자 입력받기
python 내장 함수인 int()를 활용해서 input 값을 형 변환시켜줘서 숫자를 입력받을 수 있다.
a = int(input()) print(type(a)) print(a)3. split 활용 쪼개서 입력받기
python에는 split 이라는 함수를 제공한다.
간단하게 알아보면 문자열.split(분류조건, 나눌횟수)를 통해 리스트로 return 한다.
split의 파라미터를 기본으로 하면 공백(띄어쓰기 탭 등등)을 기반으로 분리하여 return 한다.
예시 코드를 보면 이해가 잘 된다.
str = 'Sunday Morning!' print(str.split())이 split 함수를 이용해서 입력값을 공백을 기준으로 분리하여 입력 받을 수 있다.
str_list = input().split() print(type(str_list)) print(str_list)또한 각각을 아래와 같이 나누어 받을 수 있다.
a, b = input().split() print(a) print(b)4. map 활용 숫자 쪼개서 입력받기.
split과 map 함수를 활용해서 숫자를 다중 입력받을 수 있다.
map 함수는 map(적용할 함수, 적용할 값)으로 활용할 수 있다.
예를 들어,
str_list = ['1', '2'] a, b = map(int,str_list) print(type(a),type(b)) print(a,b)문자 '1'과 문자 '2'으로 이루어진 list 가 있을 때,
각각의 값에 대해서 int 함수를 적용하여 a , b로 받게 되면
이를 활용해서 입력값이 여러 숫자일 경우
이를 공백을 기준으로 나누고, map 함수를 통해 쪼개 받을 수 있다.
a, b, c = map(int, input().split()) print(type(a),type(b),type(c)) print(a,b,c)또한 하나의 리스트로 형 변환된 값을 받는 것도 가능하다.
5. 빠른 입력받기
코딩 테스트를 풀다 보면, 빠른 입력이 효율성에서 성공과 실패를 결정하는 경우가 있다.
그런 경우에는 sys 모듈을 불러와서 빠른 입력을 받을 수 있다.
# 빠른 입력 받기 import sys data = sys.stdin.readline().rstrip() print(data)readline( ) 이후에 rstrip을 해주는 이유는
sys.stdin.readline( )의 경우에 마지막에 개행 문자가 들어가게 되는데
이를 제거하기 위함이다.
감사합니다.