# Untitled

unknown
python
2 years ago
1.5 kB
3
Indexable
Never
```from calc_logo import logo

# Calculator
def add(n1, n2):
return n1 + n2

def subtract(n1, n2):
return n1 - n2

def multiply(n1, n2):
return n1 * n2

def divide(n1, n2):
return n1 / n2

def exponentiation(n1, n2):
return n1 ** n2

operations = {
"+": add,
"-": subtract,
"*": multiply,
"/": divide,
"**": exponentiation

}

def get_first_input():
num1 = input("What's the first number?: ")
try:
num1 = float(num1)
except:
print("Invalid data, given number must be an integer or a float!")
my_calculator()

def get_second_input():
num2 = input("What's the next number?: ")
try:
num2 = float(num2)
except:
print("Invalid data AGAIN, given number must be an integer or a float!")
my_calculator()

def my_calculator():
print("Welcome to Marta's calculator!")
print(logo)

get_first_input()

for symbol in operations:
print(symbol)

flag = True

while flag:
operation_symbol = input("Pick an operation: ")
get_second_input()
calculation_function = operations[operation_symbol]
answer = calculation_function(num1, num2)
print(f"{num1} {operation_symbol} {num2} = {answer}")

if input(f"Type 'y' to continue calculating with {answer}, or type 'n' to start a new calc: ") == 'y':
num1 = answer
else:
flag = False
my_calculator()

my_calculator()```