fork download
  1. class Calculadora:
  2. def __init__(self):
  3. self.operacoes = {
  4. '+': lambda a, b: a + b,
  5. '-': lambda a, b: a - b,
  6. '/': lambda a, b: a / b,
  7. '*': lambda a, b: a * b,
  8. }
  9. def calcula(self, numero1, op, numero2):
  10. if op in self.operacoes:
  11. return self.operacoes[op](numero1, numero2)
  12. raise ValueError('operação inválida')
  13.  
  14. numero1, numero2 = 10, 4
  15. calc = Calculadora()
  16. print(calc.calcula(numero1, '+', numero2))
  17. print(calc.calcula(numero1, '-', numero2))
  18. print(calc.calcula(numero1, '/', numero2))
  19. print(calc.calcula(numero1, '*', numero2))
  20.  
  21. # dá erro de operação inválida
  22. print(calc.calcula(numero1, '&', numero2))
  23.  
Runtime error #stdin #stdout #stderr 0.12s 23576KB
stdin
Standard input is empty
stdout
14
6
2.5
40
stderr
Traceback (most recent call last):
  File "./prog.py", line 22, in <module>
  File "./prog.py", line 12, in calcula
ValueError: operação inválida