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

extrai_saldo not defined

Mesmo definindo a função extrai_saldo. O Python continua me mostrando uma msg de erro de que ela não foi definida.

class ContaSalario:

    def __init__(self, codigo):
        self._codigo = codigo
        self._saldo = 0


    def __eq__(self, outro):
        if type(outro) != ContaSalario:
            return False
        return self._codigo == outro._codigo and self._saldo == outro._saldo


    def deposita(self, valor):
        self._saldo += valor


    def __str__(self):
        return('[>>Código {} Saldo {}<<]'.format(self._codigo, self._saldo))


    def extrai_saldo(contas):
        return conta._saldo





contaLuis = ContaSalario(17)
contaLuis.deposita(1000)

contaTaisa = ContaSalario(26)
contaTaisa.deposita(3000)

contaBelisco = ContaSalario(20)
contaBelisco.deposita(4)


contas = [contaLuis, contaTaisa, contaBelisco]


for conta in sorted(contas, key = extrai_saldo):
    print(conta)

3 respostas
solução!

Oi Luis.

No return da sua função extrai_saldo vc deve colocar o mesmo nome que foi declarado no parâmetro, assim:

def extrai_saldo(contas):
        return contas._saldo

Ou

def extrai_saldo(conta):
        return conta._saldo

Entendi! Muito obrigado!

Obrigado Lays! Estava com a mesma dúvida.