개인공부/python

계산기 예제

FSC_DA 2024. 4. 1. 10:49
#계산기
'''
기호를 입력 받는다.
숫자들을 입력 받는다.
사칙연산
'''

class calulator:
    def __init__(self, result=0):
       
        self.result = result
       
    def add(self, *args):
        self.result = sum(args)
        return self.result
   
    def sub(self, *args):
        self.result = args[0]
        for i in args[1:]:
            self.result -= i
        return self.result
   
    def div(self, *args):
        self.result = args[0]
        for i in args[1:]:
            if i == 0:
                raise ZeroDivisionError("0으로 나눌 수 없습니다.")
            self.result //= i
            self.result //= i
        return self.result
   
    def mul(self, *args):
        self.result = args[0]
        for i in args[1:]:
            self.result *= i
        return self.result
   
    def cal(self, operation, *args):
        if operation == 'add' or operation == '+':
            return self.add(*args)
        elif operation == 'sub' or operation == '-':
            return self.sub(*args)
        elif operation == 'div' or operation == '//':
            return self.div(*args)
        elif operation == 'mul' or operation == '*':
            result = self.mul(*args)
            return result
        raise ValueError("잘못된 기호입니다.")
   
if __name__ == "__main__":
    cal = calulator()
    result = cal.cal('//', 5,0)
    print(result)