Bom dia, quando tento executar o calculador_de_impostos.py dá o seguinte erro:
File "calculador_de_impostos.py", line 17, in <module>
calculador_de_impostos.realiza_calculo(vamos, ICMS()) # imprime 50.0
TypeError: ICMS() takes exactly 1 argument (0 given)
Segue os programas abaixo:
# -*- coding: UTF-8 -*-
# calculador_de_impostos.py
class Calculador_de_impostos(object):
def realiza_calculo(self, orcamento, imposto):
valor = imposto.calcula(orcamento)
print valor
if __name__ == '__main__':
from imposto import ISS, ICMS
from orcamento import Orcamento
vamos = Orcamento(500.0)
calculador_de_impostos = Calculador_de_impostos()
calculador_de_impostos.realiza_calculo(vamos, ICMS()) # imprime 50.0
calculador_de_impostos.realiza_calculo(vamos, ISS()) # imprime 30.0
# -*- coding: UTF-8 -*-
# impostos.py
from orcamento import Orcamento
def ICMS(orcamento):
def calcula_ICMS(object):
return orcamento.valor * 0.1
def ISS(orcamento):
def calcula_ISS(object):
return orcamento.valor * 0.06
# -*- coding: UTF-8 -*-
# orcamento.py
class Orcamento(object):
def __init__(self, valor):
self.__valor = valor
@property
def valor(self):
return self.__valor