Sem POO
def mostrar_calculadora():
return (
"Calculadora\n"
"Operações: + (soma), - (subtracao), * (multiplicacao), / (divisao)"
)
def calcular(x, y, operacao):
operacoes = {
"+": lambda x, y: x + y,
"-": lambda x, y: x - y,
"*": lambda x, y: x * y,
"/": lambda x, y: x / y if y != 0 else "Erro: divisão por zero"
}
return operacoes.get(operacao, "Operação inválida")(x, y)
def main():
print("calculadora")
print(mostrar_calculadora())
x = int(input("Digite o primeiro número: "))
y = int(input("Digite o segundo número: "))
operacao = input("Digite a operação: ")
resultado = calcular(x, y, operacao)
print(resultado)
main()
Com POO
class Calculadora:
def __init__(self):
self.operacoes = {
"+": lambda x, y: x + y,
"-": lambda x, y: x - y,
"*": lambda x, y: x * y,
"/": lambda x, y: x / y if y != 0 else "Erro: divisão por zero"
}
def calcular(self, x, y, operacao):
return self.operacoes[operacao](x, y)
def __str__(self):
return (
"Calculadora".capitalize()
+ "\n"
+ "Operações: + (soma), - (subtracao), * (multiplicacao), / (divisao)"
)
print("calculadora")
calculadora = Calculadora()
print(calculadora)
print(calculadora.calcular(int(input("Digite o primeiro número: ")),
int(input("Digite o segundo número: ")),
input("Digite a operação: ").lower()))