오늘은 간단하게 계산기를 만들어 보겠습니다.

이 계산기를 만듦으로 통해 파이썬 문법에 익숙해질 수 있겠습니다.
먼저 def를 통해 기능을 만들어줍니다. 계산기에 꼭 필요한 기능이 뭐가 있을까요?
기능 구현
1. 숫자 입력 받기
사용자들이 계산하려는 숫자를 받아와야하기 때문에 input() 함수로 입력 값을 받아옵니다.
input으로 가져온 숫자는 숫자가 아닙니다. "4" 는 4와 다릅니다!
문자열로 가져오기 때문에 숫자로 바꿔주는 과정이 필요한데
num1과 num2는 float로 받아와야합니다. int로 받아와도 좋지만 int(정수형)으로 받아오면
소숫점 곱셈은 하지 못하고 오류를 발생 시킵니다!
def get_user_input():
num1 = float(input("왼쪽 수 입력 : "))
operator = input("연산 자 입력 (+, -, X, /) : ")
num2 = float(input("오른쪽 수 입력 : "))
return num1, operator, num2
2. 사칙연산 +, -, *, /
계산기의 기본 기능인 사칙연산을 정의 해줍시다.
def plus(x, y):
return x + y
def minus(x, y):
return x - y
def divide(x, y):
return x / y
def product(x, y):
return x * y
3. 계산하기
사용자로부터 숫자와 연산자를 받아 왔으면 계산을 해야겠죠!
if 조건문으로 연산자가 + 일때, - 일때, * 일때, / 일때를 나눠줍니다. 사칙연산은 이것 뿐인데 다른게 나오면 적절한 연산자를 입력해달라고 해야겠죠.
def calculate(num1, operation, num2):
if operation == "+":
return plus(num1, num2)
elif operation == "-":
return minus(num1, num2)
elif operation == "x" or operation == "X":
return product(num1, num2)
elif operation == "/":
return divide(num1, num2)
else:
return "적절한 연산자를 입력해주세요."
자 이제 실행시켜봅시다!
if __name__ == '__main__' 을 사용해주면 다른 데서 계산 기능을 이용하기 위해
이 파일을 import 했을 경우 실행 코드로 인해 망가지지 않도록 꼭 사용해줍니다!
if __name__ == '__main__':
num1, operation, num2 = get_user_input()
print(calculate(num1, operation, num2))

계산이 잘 되는 모습을 보실 수 있습니다!
개선할 점
개선할점은 뭐가 있을까요?
입력을 받을 때 문자열이나 실수로 연산자를 입력하면 이것이 숫자가 아니라는걸 알려주는 예외처리를 조금더 해주면 좋겠죠?
또, float로 받아오면 정수를 곱해도 196.0 이런식으로 나오기 때문에 예쁘지 않다는 생각이 듭니다.
196으로 나오면 어떨까요?
1 / 3 을 계산하면 0.33333333333 이런 식으로 나오는 것도 예쁘지 않다는 생각이 듭니다.
0.33으로 나와준다면 더 좋지 않을까요?