from orcamento import Orcamento
from impostos import ISS, ICMS
import sys,os
class Calculador_de_imposto(object):
#:.recebe o valor do orçamento e imposto.:
def realiza_calculo(self, orcamento, imposto):
#print(orcamento.valor)
#print(imposto)
imposto_calculado = imposto.calcula(orcamento)
#imposto_calculado = (orcamento.valor)
print(imposto_calculado)
sys.exit()
if __name__ == '__main__':
#todo:.objeto classe > Calculator_de_impostos
calculador = Calculador_de_imposto()
#todo:.objeto > classe > orcamento.:
orcamento = Orcamento(500)
print(orcamento.valor)
#todo:.modificando o atributo valor do orçamento.:
orcamento.valor = 200
print(orcamento.valor)
#todo:.objeto da classe calculador_de_impostos > acessa o metodo da classe, passando as funções como parametro.
calculador.realiza_calculo(orcamento, ISS())
ERRO TRACEBACK
Traceback (most recent call last):
File "/home/rmachado/PycharmProjects/design_patterns1_python/calculador_de_impostos.py", line 31, in <module>
calculador.realiza_calculo(orcamento, ISS())
File "/home/rmachado/PycharmProjects/design_patterns1_python/calculador_de_impostos.py", line 12, in realiza_calculo
imposto_calculado = imposto.calcula(orcamento)
TypeError: calcula() takes 1 positional argument but 2 were given
Process finished with exit code 1