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

Problemas no get item

Pessoal , ainda não consigo fazer funcionar como um iterrable Segue o código :

class Playlist:
    def __init__(self, nome, programas):
        self.nome = nome
        self._programas = programas

    def __getitem__(self, item):
        return self._programas[item]

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


vingadores = Filme('Vingadores: guerra Infinita', 2018, 180)
b99 = Serie('B99', 2017, 5)
tmep = Filme('Todo mundo em pânico', 1999, 100)
demolidor = Serie('Demolidor', 2016, 2)
tmep.dar_like()
tmep.dar_like()
tmep.dar_like()
tmep.dar_like()
demolidor.dar_like()
demolidor.dar_like()

vingadores.dar_like()
b99.dar_like()


filmes_series = {vingadores, b99, demolidor, tmep}
fim_de_semana = Playlist('fim de semana', filmes_series)

print('Tamanho da PlayList: {}'.format(len(fim_de_semana)))

for programa in fim_de_semana:
    print(programa)

Erro :

Traceback (most recent call last): File "/Users/abilion/PycharmProjects/untitled2/modelo.py", line 76, in for programa in fim_de_semana: File "/Users/abilion/PycharmProjects/untitled2/modelo.py", line 50, in getitem return self._programas[item] TypeError: 'set' object is not subscriptable

2 respostas
solução!

Oi Abílio! Como vai ?

O erro está acontecendo porque você declarou filmes_series como um conjunto e não como uma lista. O correto é:

filmes_series = [vingadores, b99, demolidor, tmep]

Basta trocar as chaves pelos colchetes. Creio que isto resolverá o problema.

Para saber mais sobre conjuntos, deixo aqui uma referência.

Espero ter ajudado. Bons estudos!!!

Deslize meu , obrigado pela ajuda.