본문 바로가기
언어/python3

파이썬 | input으로 입력 받을 때 캐스팅 해주기

by Godgil 2020. 3. 14.
1
2
3
4
5
6
7
a,b = input().split()
print(a + b)
 
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
10 20
1020
Process finished with exit code 0
cs

숫자 두 개를 입력받고 그 수를 더해서 출력을 하고 싶은데,

input을 써서 받고 그냥 더해버리면 위의 코드처럼 10 + 20이 1020이 되어버린다

기적의 계산법

 

왜 그러냐면 input은 입력받고 string의 형태로 저장한다.

그래서 더하기를 시켜주면 문자열 + 문자열의 형태로 출력이된다.

따라서 우리는 적절하게 캐스팅을 시켜줘야한다.

 

1
2
3
4
5
6
7
8
9
a,b = input().split()
= int(a)
= int(b)
print(a + b)
 
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
10 20
30
Process finished with exit code 0
cs

 

이렇게 하나하나 바꿔서 해 줄 수도 있지만, 

 

1
2
3
4
5
6
7
a, b = map(int, input().split())
print(a + b)
 
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
10 20
30
Process finished with exit code 0
cs

위처럼 map을 이용해 한번에 바꿔서 캐스팅 할 수도 있다.

 

아 추가적으로, 하나를 입력받을 때 바로 캐스팅 하는 방법은

1
= int(input())
cs

위 처럼 해 주면 된다. 간단하다.

 

댓글