언어/python3
파이썬 | input으로 입력 받을 때 캐스팅 해주기
Godgil
2020. 3. 14. 19:35
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()
a = int(a)
b = 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
|
a = int(input())
|
cs |
위 처럼 해 주면 된다. 간단하다.