파이썬으로 입력받는 방법에는 보편적으로 사용되는 input() 이 있다.
>>> a = input()
Life is too short, you need python
>>> a
'Life is too short, you need python'
>>>
a = int(input())
b = int(inpt())
print(a + b)
int 는 괄호 안에 있는 값을 정수로 변환하며 문자열이든 실수든 상관없이 정수로 변환한다.
input으로 입력받은 값을 실수로 변환하려면 float로 묶어준다.
변수 = float(input())
변수 = float(input(문자열))
a = float(input('첫 번째 숫자를 입력하세요': ')) # float 를 사용하여 입력 값을 실수로 변환
b = float(input('두 번째 숫자를 입력하세요': ')) # float 를 사용하여 입력 값을 실수로 변환
print(a + b)
하지만 알고리즘을 풀다보면 inpt()으로 입력을 받아 문제를 풀었는데 시간초과가 되는 경우가 많다. (특히 반복문을 써서 여러 줄을 입력 받는 경우)
그럴때에는 Python의 표준 라이브러리인 sys의 sys.stdin.readline()
을 사용해서 값을 입력받으면 된다.
sys: sys모듈은 Python 인터프리터가 제공하는 변수와 함수를 직접 제어할 수 있게 해주는 모듈이다.
import sys
a = int(sys.stdin.readline())
sys.stdin.readline()
의 return 값은 문자열(string)이기 때문에 정수로 입력 받으려면 형변환을 해줘야 함import sys
sentence = sys.stdin.readline()
import sys
a,b,c = map(int,sys.stdin.readline().split())
map()
은 반복 가능한 객체(리스트)에 대해 각가그이 요소들을 지정된 함수로 처리해주는 함수import sys
data = list(map(int, sys.stdin.readline().split()))
split()
은 문자열을 나눠주는 함수list()
는 자료형을 리스트형으로 변환 해주는 함수map()
은 맵 객체를 만들기 때문에, 리스트형으로 바꿔주기 위해서 list()
로 감싸준다import sys
n = int(sys.stdin.readline())
data = [sys.stdin.readline().strip for i in range(n)]
strip()
은 문자열 맨 앞과 맨 끝의 공백문자를 제거한다.import sys
data = []
n = int(sys.stdin.readline())
for i in range(n) :
data.append(list(map(int,sys.stdin.readline().split())))
https://dojang.io/mod/page/view.php?id=1219
https://wikidocs.net/33
https://velog.io/@yeseolee/Python-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%9E%85%EB%A0%A5-%EC%A0%95%EB%A6%ACsys.stdin.readline