Gostaria de enviar o meu código para ele. Eu não estou conseguindo resolver o problema, quando eu coloco:
print("ICPP com IKCV' {}".format(calculador.realiza_calculo(orcamento, ICPP(IKCV))))
O erro é: TypeError: calcula() missing 1 required positional argument: 'orcamento' Contudo o meu método calculo recebeu como parâmetro o orcamento conforme código abaixo.
class Imposto(object):
def __init__(self, outro_imposto = None):
self.__outro_imposto = outro_imposto
@abstractmethod
def calcula(self, orcamento):
pass
def calculo_do_outro_imposto(self, orcamento):
if self.outro_imposto is None:
return 0
else:
return self.outro_imposto.calcula(orcamento)
@property
def outro_imposto(self):
return self.__outro_imposto
class Template_de_imposto_condicional(Imposto):
__metaclass__ = ABCMeta
def calcula(self, orcamento):
if self.deve_usar_maxima_taxacao(orcamento):
return self.maxima_taxacao(orcamento) + self.calculo_do_outro_imposto(orcamento)
else:
return self.minima_taxacao(orcamento) + self.calculo_do_outro_imposto(orcamento)
@abstractmethod
def deve_usar_maxima_taxacao(self, orcamento):
pass
@abstractmethod
def maxima_taxacao(self, orcamento):
pass
@abstractmethod
def minima_taxacao(self, orcamento):
pass