기존 코드에서 반지름의 값 5를 17로 바꿔야 하는데, 왼쪽 코드처럼 반지름 변수를 사용하지 않으면 반지름이 필요한 모든 부분을 바꿔야 합니다. 총 3번 바꾸네요. 하지만 변수를 사용하면 변수에 값을 저장하는 처음 한 번만 바꾸면 됩니다. 훨씬 간단하죠. ‘3번만 바꾸면 되는데 뭐가 번거롭지?’라고 생각할 수 있습니다. 프로그램에 조금 더 요소를 넣어 보겠습니다.
이번에는 반지름을 직접 입력받아 원의 넓이와 둘레, 구의 겉넓이를 구하는 프로그램을 작성합니다. 오른쪽 코드에서 딱 한 줄만 변경하면 됩니다. 어디를 변경하면 될까요? 반지름을 바꾼다고 했으니 반지름 변수에 값을 저장하는 r = 17을 변경하면 되겠네요. 그리고 입력을 받아야 하니 2장에서 배웠던 입력 명령어 input()을 사용해야죠. 그럼 바꿔 봅시다. 앞서 배운 형식을 그대로 적용하면 됩니다.
이 코드를 해석하면 ‘변수 r에 입력받은 값을 저장하라’고 할 수 있습니다. 이대로 두면 어떤 값을 입력해야 하는지 알기 어렵겠죠? 여기에 안내문을 넣어 봅시다. 간단하게 ‘반지름은?’이라고 넣겠습니다. 추가로 결괏값 출력 부분은 한 줄로 작성합니다.
p = 3.141592
r = input('반지름은? ')
result1 = p * r ** 2
result2 = 2 * p * r
result3 = 4 * p * r ** 2
print('원의 넓이 =', result1, '원의 둘레 =', result2, '구의 겉넓이 =', result3)
실행결과
반지름은? 999
---------------------------------------------------------------------------
----> 4 result1 = p * r ** 2
TypeError: unsupported operand type(s) for ** or pow(): 'str' and 'int'