Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Erro na Classe

Por algum motivo o python está exigindo 2 parametros quando eu coloco no metodo da classe adiciona(self, orcamento) É como se o self estivesse sendo coniderado como o primeiro parametro. Nunca tinha me acontecido isso, alguém tem idéia do que seja? ![](Insira aqui a descrição dessa imagem para ajudar na acessibilidade )

class Orcamento:
    def __init__(self):
        self._itens = []

    @property
    def valor(self):
        total = 0.0
        for item in self._itens:
            total += item.valor
        return total
    @property
    def obter_itens(self):
        return tuple(self._itens)

    @property
    def total_itens(self):
        return len(self._itens)

    def adiciona_item(self, item):
        self._itens.append(item)
3 respostas

O problema ai é que você ta utilizando errado a função, para usar o self você tem que ter instanciado a classe. Para isso você não pode chamar o Orcamento.adicionar_item(item), porém voce instancia o a classe antes na linha 39, se você usar a variável para chamar o adicionar_item() deve funcionar.

Seu código deveria ficar assim:

orcamento = Orcamento()
item = Item('Item-1',550)

orcamento.adicionar_item(item)

Nossa, nem tinha reparado rsrsrs. Deve ter sido um autocomplete do editor. Obrigado.

solução!

Por nada, acontece essas coisas mesmo e o pior que geralmente são erros que não avisam o motivo mesmo, ai fica pior de achar!! Como ja foi resolvido, coloca o tópico como resolvido