1
resposta

[Dúvida] como posso fazer para aparecer a informação das tres musicas no print?

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

musica1 = Musica()
musica1.nome = 'Cosmic Monster'
musica1.artista ='Anirap'
musica1.duracao =4,24

musica2 = Musica()
musica2.nome = 'Perfecsionismo'
musica2.artista ='Anirap'
musica2.duracao =4,00

musica3 = Musica()
musica3.nome = 'Takaba'
musica3.artista ='Pejota'
musica3.duracao =4,18

musicas=[musica1,musica2,musica3]
print(vars())
1 resposta

Oii, Cauâ!

Realmente, se você tentar fazer apenas print(musicas), o Python vai te mostrar algo meio estranho, como <__main__.Musica object at 0x...>, que é o endereço de memória onde o objeto está guardado, e não os dados dele.

Pra ver as informações bonitinhas, precisamos "percorrer" a sua lista e pedir para o Python imprimir item por item. A melhor ferramenta para isso é o laço de repetição for.

Vou te mostrar uma forma de fazer isso:

Nesta opção, montamos uma frase para cada música. É a forma mais usada para mostrar dados para o usuário.

# Supondo que a lista 'musicas' já existe e contém seus 3 objetos

for musica in musicas:
    print(f"{musica.nome} - {musica.artista} ({musica.duracao})")

O que esse código faz:

  1. O for pega a primeira música da lista e chama de musica.
  2. O print mostra os atributos .nome, .artista e .duracao.
  3. Ele repete isso para a segunda e a terceira música automaticamente.

Código pra testar:

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

# Criando os objetos
musica1 = Musica()
musica1.nome = 'Cosmic Monster'
musica1.artista = 'Anirap'
musica1.duracao = 4.24

musica2 = Musica()
musica2.nome = 'Perfecsionismo'
musica2.artista = 'Anirap'
musica2.duracao = 4.00

musica3 = Musica()
musica3.nome = 'Takaba'
musica3.artista = 'Pejota'
musica3.duracao = 4.18

# criando a lista
musicas = [musica1, musica2, musica3]

# imprimindo as informações
print("--- Minha Playlist ---")
for musica in musicas:
    print(f"Música: {musica.nome} | Artista: {musica.artista} | Duração: {musica.duracao}")

Espero ter ajudado.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!