1
resposta

Qual é o email do professor Flávio?

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
1 resposta

Olá. Poste seu código completo para que eu possa replicar. Pode ficar tranquilo que mais de 1000 alunos passaram dessa parte sem problema algum.

Aguardo o restante do código.