input을 이용하여 한 줄의 문자열을 입력받는다.
int() 함수를 이용하여 입력받은 데이터를 정수형 데이터로 처리할 수 있다.
공백으로 구분된 여러 개의 데이터를 입력받을 때는 list(map(int, input().split()))을 이용한다.
input()으로 입력받은 문자열을 split()을 이용해 공백으로 나눈 리스트로 바꾼다.
map을 이용하여 해당 리스트의 모든 원소에 int() 함수를 적용한다.
최종적으로 결과를 list()로 바꿔 입력 받은 문자열을 공백으로 구분하여 각각 숫자형으로 저장되게 한다.
줄바꿈을 해서 정수로 입력을 받는 경우에는 int(input())과 같은 형태로 사용하면된다.
# 데이터 개수 입력 -> 5
n = int(input())
# 각 데이터를 공백으로 구분하여 입력한다. -> 1 3 4 2 5
data = list(map(int input().split()))
data.sort(reverse = True)
print(data)
# 출력: [5, 4, 3, 2, 1]
# n, m, k를 공백으로 구분하여 입력 -> 3, 5, 7
n, m, k = map(int, input().split())
print(n, m, k) # 출력: 3, 5, 7
입력의 개수가 많은 경우에는 input() 함수를 사용하면 시간 초과로 오답 판정이 날 수 있다.
많은 입력을 받아야 하는 경우에는 sys.stdin.readline().rstrip() 함수를 이용한다.
sys 라이브러리를 사용할 때는 한 줄 입력을 받고 나서 rstrip() 함수를 꼭 호출해야 한다.
readline()으로 입력하면 입력 후 엔터가 줄 바꿈 기호로 입력 되는데, 이 공백 문자를 제거하기 위함이다.
import sys
# 문자열 입력받기 -> Hello World
data = sys.stdin.readline().rstrip()
print(data) # 출력: Hello World
Print()를 이용하여 변수나 상수를 매개변수로 입력받아 이를 표준 출력으로 출력할 수 있다.
각 변수는 띄어쓰기로 구분되어 출력되고, 출력된 후 자동으로 개행이 된다.
a = 1
b = 2
print(a, b) # 출력: 1 2
더하기 연산은 같은 자료형끼리만 가능하다.
다른 자료형끼리 더하기 연산을 할 시 TypeError가 발생한다.
ex.
a = 7
print("정답은 " + str(a) + "입니다.") # 출력: 정답은 7입니다.
a = 7
print("정답은", str(answer), "입니다.") # 정답은 7 입니다.
Python 3.6 이상의 버전부터 f-string의 접두사 'f'를 사용하여 단순히 중괄호 안에 변수를 넣음으로써, 자료형의 변환 없이도 간단히 문자열과 정수를 함께 출력할 수 있다.
a = 7
print(f"정답은 {a}입니다.") # 출력: 정답은 7입니다.