https://hkim-data.tistory.com/32
Python 입력 값 다양하게 받기 (input, map, split)
by 데이터현 2021. 10. 19.
데이터현님이 정리해 놓은 내용을 스크랩한 자료입니다.
----------------------------------------------------
Python에서는 input() 메서드를 통해 입력값을 다양하게 받을 수 있다. (보통 실행 창에서 직접 입력함)
하나씩 알아보자.
1. 문자열 입력
단순하게 input 만을 사용하면 문자열을 입력받게 된다.
a = input()
type(a)
print(a)
![](https://blog.kakaocdn.net/dn/bAeu4F/btsbSES4Pgj/ISBuFjPl3TKF5sbKkWOZpk/img.png)
![](https://blog.kakaocdn.net/dn/bI8tXw/btsbUP68JuP/0qzb13AiM895XfQsGRKaQ0/img.png)
2. 숫자 입력받기
python 내장 함수인 int()를 활용해서 input 값을 형 변환시켜줘서 숫자를 입력받을 수 있다.
a = int(input())
print(type(a))
print(a)
![](https://blog.kakaocdn.net/dn/bhUgQZ/btsbVeeJMRY/zpNbYKCnekGlUthYGEnw11/img.png)
![](https://blog.kakaocdn.net/dn/QbbQ1/btsbSgSpf5V/iobVcqqjdjRu2UMkxLHgdK/img.png)
3. split 활용 쪼개서 입력받기
python에는 split 이라는 함수를 제공한다.
간단하게 알아보면 문자열.split(분류조건, 나눌횟수)를 통해 리스트로 return 한다.
split의 파라미터를 기본으로 하면 공백(띄어쓰기 탭 등등)을 기반으로 분리하여 return 한다.
예시 코드를 보면 이해가 잘 된다.
str = 'Sunday Morning!'
print(str.split())
![](https://blog.kakaocdn.net/dn/plQCb/btsbToh8hCp/N8NDVIfmsjoAkFBh2MJHI0/img.png)
이 split 함수를 이용해서 입력값을 공백을 기준으로 분리하여 입력 받을 수 있다.
str_list = input().split()
print(type(str_list))
print(str_list)
![](https://blog.kakaocdn.net/dn/wRpHm/btsbUPTDmEC/FZp9Kh1h0iyYNgdyH3ADnK/img.png)
또한 각각을 아래와 같이 나누어 받을 수 있다.
a, b = input().split()
print(a)
print(b)
![](https://blog.kakaocdn.net/dn/4mRW8/btsbQxHfF2K/ZT2MVie2eM4SIGm0avICxk/img.png)
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로 받게 되면
![](https://blog.kakaocdn.net/dn/85fvx/btsbUQycXRO/O1kHID0ly7Ik1mP25zlamK/img.png)
이를 활용해서 입력값이 여러 숫자일 경우
이를 공백을 기준으로 나누고, map 함수를 통해 쪼개 받을 수 있다.
a, b, c = map(int, input().split())
print(type(a),type(b),type(c))
print(a,b,c)
![](https://blog.kakaocdn.net/dn/cFLTnD/btsbQ3e0qbS/Jd0tsEbjvA9eHfsWs0vJlk/img.png)
또한 하나의 리스트로 형 변환된 값을 받는 것도 가능하다.
num_list = list(map(int, input().split()))
print(type(num_list))
print(num_list)
![](https://blog.kakaocdn.net/dn/bAOT7h/btsbXJrY5Fp/0NKN2EtARAGCV7sm7Ngch1/img.png)
5. 빠른 입력받기
코딩 테스트를 풀다 보면, 빠른 입력이 효율성에서 성공과 실패를 결정하는 경우가 있다.
그런 경우에는 sys 모듈을 불러와서 빠른 입력을 받을 수 있다.
# 빠른 입력 받기
import sys
data = sys.stdin.readline().rstrip()
print(data)
![](https://blog.kakaocdn.net/dn/bALeiW/btsbSFEpEge/sJuz0Ijr2V0yT1CPRtm1Q1/img.png)
readline( ) 이후에 rstrip을 해주는 이유는
sys.stdin.readline( )의 경우에 마지막에 개행 문자가 들어가게 되는데
이를 제거하기 위함이다.
감사합니다.
'파이썬 수업 > 파이썬 기출문제 풀이' 카테고리의 다른 글
[파이썬] COSpro 3급 기출문제 풀이 2회-2 (6~10번 문제) (0) | 2024.01.03 |
---|---|
[파이썬] COSpro 3급 기출문제 풀이 2회-1 (1~5번 문제) (0) | 2023.12.09 |
[파이썬] COSpro 3급 기출문제 풀이 2 (1회차, 4~7번문제) (0) | 2023.11.18 |
[파이썬] COSpro 3급 기출문제 풀이 1 (1~3번 문제) (0) | 2023.11.11 |
1291 정올: 구구단 /파이썬3 (0) | 2023.03.24 |
Comment