지금까지 파이썬에서 입력을 받기 위해서 input()을 사용했다.

하지만 파이썬으로 알고리즘 문제를 풀 때 input()을 이용해 많은 입력을 받다 보면 시간 초과가 발생한다.

시간 초과를 방지하기 위해 input()보다 더 빠른 sys모듈의 sys.stdin.readline()을 사용해보자.

import sys
x=sys.stdin.readline()
print(x)
>>Python #입력
Python #출력

sys.stdin.readline()은 문자열 마지막의 줄 바꿈 문자까지 읽기 때문에 strip()을 이용해 줄 바꿈 문자를 제거해주는 것이 좋다.

import sys
x=sys.stdin.readline().strip()
print(x)
print('Java')
>>Python #입력
Python #출력
Java

입력


파이썬에서는 input()함수로 사용자 입력을 받을 수 있다.

name=input()
print(name)
>>>duck #사용자가 직접 입력
>>>duck #출력

 

input() 함수는 모든 입력을 문자열로 취급한다. 따라서 int, float형을 입력할 때는 형변환이 필요하다.

age=input() #형변환을 해주지 않았기 때문에 입력을 문자열로 인식
print(age+5)
>>>24 #입력
>>>Traceback (most recent call last): #출력 ->오류 발생
File ".....................................", line 2, in <module>
print(age+5);
TypeError: can only concatenate str (not "int") to str #TypeError 발생

 

age=int(input()) #형변환
print(age+5)
>>>24 #입력
>>>29 #출력 -> age가 int형이므로 숫자 5와 연산 가능.

input()함수로 프롬프트 출력도 가능하다.

name=input("이름을 입력해주세요: ") #input함수의 인자로 문자열 입력
print(name)
>>>이름을 입력해주세요: 오리
>>>오리

'Python' 카테고리의 다른 글

Python - 모듈(module)  (0) 2020.07.27
Python - 단락 평가(Short-circuit Evaluation)  (0) 2020.07.26
Python - 부동소수점(Floating Point), 유한 정밀도  (0) 2020.07.24
Python - 문자열 변경  (0) 2020.07.23
python- 문자열 포매팅  (0) 2020.07.23

+ Recent posts