here is my code it's simple i just wanted to learn all topics i recently learned
def run_in_thread(fun):
def wrapper(*args, **kwargs):
thread = threading.Thread(target=fun, args=args, kwargs=kwargs)
thread.start()
return wrapper
class Operations:
def __init__(self, num1 : float, num2 : float) -> None:
self.num1 = num1
self.num2 = num2
@run_in_thread
def plus(self) -> float:
return self.num1 + self.num2
@run_in_thread
def minus(self) -> float:
return self.num1 - self.num2
@run_in_thread
def multiply(self) -> float:
return self.num1 * self.num2
class Calculator(Operations):
def __init__(self, color : str) -> None:
self.color = color
self.operaions = ["PLUS", "MINUS", "MULTIPLY"]
print(f"calculator running in {self.color} color")
def console(self):
while True:
print(self.operaions)
opr = input("select a operation> ")
if opr in self.operaions:
if opr == "PLUS":
num1 = input("num1: ")
num2 = input("num2: ")
super().__init__(num1, num2).plus()
elif opr == "MINUS":
num1 = input("num1: ")
num2 = input("num2: ")
super().__init__(num1, num2).minus()
elif opr == "MULTIPLY":
num1 = input("num1: ")
num2 = input("num2: ")
super().__init__(num1, num2).multiply()
else:
print("selected wrong operation!\nexiting...")
exit()
Calculator('blue').console()```