두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)
출력
첫째 줄에 A+B를 출력한다.
a, b = [int(x) for x in input().split()]
print(a+b)
해석- []: 리스트화함
이유_리스트화하지 않으면 입력된 숫자값이 문자로 취급 받기 때문.
cf. 111 + 222 -> 111222
입력된 값(input())을 구분하고(.split()) x에 입력하여 정수화한다.(int(x))
좀더 자세히 설명하면
a, b = [int(x) for x in input().split()]
OR
a, b = list(map(lambda x: int(x), input().split()))
이때, map()은 map(f, iterable)은 함수(f)와 반복 가능한(iterable) 자료형을 입력으로 받는다.
map은 입력받은 자료형의 각 요소를 함수 f가 수행한 결과를 묶어서 돌려주는 함수이다.
OR
xs = []
for x in input().split():
xs.append(int(x))
a = xs[0]
b = xs[1]
위 식들은 모두 같은 의미로 해석할 수 있다.
input 대신 sys.stdin.readline을 사용할 수 있다.
단, 이때는 맨 끝의 개행문자까지 같이 입력받기 때문에 문자열을 저장하고 싶을 경우
.rstrip()을 추가로 해 주는 것이 좋다.
예시
input 대신 sys.stdin.readline을 사용할 수 있다.
단, 이때는 맨 끝의 개행문자까지 같이 입력받기 때문에 문자열을 저장하고 싶을 경우
.rstrip()을 추가로 해 주는 것이 좋다.
예시
import sys
input = sys.stdin.readline
A, B = map(int, input().split())
print(A+B)
여기서 주의할 점은
import sys
input = sys.stdin.readline
N = int(input())
for i in range(1,N+1):
print(i)
이런 코드에서
input = sys.stdin.readline().rstrip()
을 쓰게되면 range() 안에 문자열이 들어가게 되므로 TypeError: 'str' object is not callable 이런 오류가 뜨게 된다.
N = int(input())
OR
import sys
input = sys.stdin.readline
K = int(input())
import sys
data = list(map(int, sys.stdin.readline().split()))
import sys
n, m ,k = map(int, sys.stdin.readline().split())
#1
import sys
N = int(input())
data = list(map(int, sys.stdin.readline().split()))
#2
import sys
N, *M = map(int, sys.stdin.read().split())