La plataforma musical GreatNoise.com vol millorar el servei que ofereix als seus subscriptors. Per això afegirà diferents funcionalitats que els usuaris podran fer servir a les seves llistes de reproducció.
Una llista de reproducció és una llista de cançons, que a la seva vegada són una lista amb els elements següents:
Els tres problemes a continuació estan relacionats amb aquestes dades, però poden resoldre’s de manera independent, les seves solucions no depenen en cap manera de la dels altres problemes.
Utilitza les lletres ’a’, ’b’, y ’c’ com a claus del diccionari.
Finalment, GreatNoise.com vol calcular estadístiques sobre les llistes de reproducció. Programa una funció estadisticas(lista_reproduccion) que, a partir de lista_reproduccion, una llista com les descrites a l’inici, retorni un diccionari que assocïi els títols de les cançons de la llista de reproducció amb una llista composada per l’autor i tots els àlbums (es poden repetir) on apareix la canço a la llista de reproducció.
Puntuació
Apartado 1: 33 puntos.
Apartado 2: 33 puntos.
Apartado 3: 34 puntos.
>>> lista = [["Higher", "Creed", "Greatest Hits", 316], ... ["Basket Case", "Green Day", "Dookie", 182], ... ["Glycerine", "Bush", "Sixteen Stone", 266], ... ["Congregation", "Foo Fighters", "Sonic Highways", 312], ... ["Blackbird", "Alter Bridge", "Blackbird", 478], ... ["Basket Case", "Green Day", "God's FB", 182], ... ["Fuck You", "Bad Religion", "True North", 134], ... ["Higher", "Creed", "Human Clay", 316]] >>> calcula_duracion(lista) (36, 26) >>> clasificacion = clasificar_duracion(lista) >>> clasificacion == {'a': 1, 'b': 3, 'c': 4} True >>> lista = [["Higher", "Creed", "Greatest Hits", 316], ... ["Basket Case", "Green Day", "Dookie", 182], ... ["Glycerine", "Bush", "Sixteen Stone", 266], ... ["Congregation", "Foo Fighters", "Sonic Highways", 312], ... ["Blackbird", "Alter Bridge", "Blackbird", 478], ... ["Basket Case", "Green Day", "God's FB", 182], ... ["Fuck You", "Bad Religion", "True North", 134], ... ["Higher", "Creed", "Human Clay", 316]] >>> canciones = estadisticas(lista) >>> canciones == {'Higher': ['Creed', 'Greatest Hits', 'Human Clay'], ... 'Basket Case': ['Green Day', 'Dookie', "God's FB"], ... 'Glycerine': ['Bush', 'Sixteen Stone'], ... 'Congregation': ['Foo Fighters', 'Sonic Highways'], ... 'Blackbird': ['Alter Bridge', 'Blackbird'], ... 'Fuck You': ['Bad Religion', 'True North']} True