2
respostas

Aula 05 Atividade 08. Exercicio da Listinha - Ajuda para corrigir o erro

No Código abaixo não consegui corrigir o erro , tentei inserir o método len e chamar o len(meu_objeto) e não deu certo, se alguém pode me ajudar o agradeço

class Listinha: def init(self, items): self.items = items

def iter(self): return self.items.iter()

def len(self): return len(self.items)

def getitem(self, item): return self.items[item]

meu_objeto = Listinha([1, 2, 4])

contador = 0 for item in meu_objeto: contador += 1

if len(meu_objeto) == contador: print('São iguais!') else: print('Não são iguais!')

2 respostas

Oi Alex,

  1. Métodos reservados do python devem começar e terminar com 2 underscores;
  2. O atributo items não tem o atributo iter, você deve retornar a função iter sobre o atributo items já que ele é uma lista (segue o mesmo raciocínio do que você usou no "len");

Segue seu código ajustado:

class Listinha: 
    def __init__(self, items): 
        self.items = items

    def __iter__(self): 
        return iter(self.items)

    def __len__(self): 
        return len(self.items)

    def getitem(self, item): 
        return self.items[item]

meu_objeto = Listinha([1, 2, 4])

contador = 0 
for item in meu_objeto: 
    contador += 1

if len(meu_objeto) == contador: 
    print('São iguais!') 
else: 
    print('Não são iguais!')

PS.: seja sempre atento a questão de identação...

Obrigado Reno pela ajuda e dicas, resolveu a pendência do código.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software