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

[Projeto] Inserção de Músicas

Aplicando o aprendido em aula, coloquei a disponibilidade de 3 músicas e o vars, aprendendo que esta aplicação funciona apenas com 1 item da lista, ao tentar inserir as 3, apresentou erro

#Criando Classe Música

class Musica:
    nome = ''
    artista = ''
    duracao = float

musica1 = Musica()
musica1.nome = 'Monstros'
musica1.artista = 'Supercombo'
musica1.duracao = 4.05

musica2 = Musica()
musica2.nome = 'The Blister Exists'
musica2.artista = 'Slipknot'
musica2.duracao = 5.19

musica3 = Musica()
musica3.nome = 'Come Together'
musica3.artista = 'The Beatles'
musica3.duracao = 4.19

musicas = [musica1, musica2, musica3]
print(vars(musica1))
2 respostas
solução!

Boa tarde, Gabriel! Tudo bem com você?

Para imprimir todas as músicas utilizando vars, você pode iterar sobre a lista músicas e imprimir os atributos de cada objeto Musica, por exemplo:

for musica in musicas:
    print(vars(musica))

Neste código, o loop for itera sobre cada objeto na lista de músicas e vars(musica) retorna um dicionário com todos os atributos do objeto musica, que é então impresso utilizando print.

Deixo abaixo o código completo após a modificação e um exemplo do resultado:

class Musica:
    nome = ''
    artista = ''
    duracao = float

musica1 = Musica()
musica1.nome = 'Monstros'
musica1.artista = 'Supercombo'
musica1.duracao = 4.05

musica2 = Musica()
musica2.nome = 'The Blister Exists'
musica2.artista = 'Slipknot'
musica2.duracao = 5.19

musica3 = Musica()
musica3.nome = 'Come Together'
musica3.artista = 'The Beatles'
musica3.duracao = 4.19

musicas = [musica1, musica2, musica3]
for musica in musicas:
    print(vars(musica))
{'nome': 'Monstros', 'artista': 'Supercombo', 'duracao': 4.05}
{'nome': 'The Blister Exists', 'artista': 'Slipknot', 'duracao': 5.19}
{'nome': 'Come Together', 'artista': 'The Beatles', 'duracao': 4.19}

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Excelente, muito obrigado pelo esclarecimento