Autors teatrals¶
Un fitxer de text conté la informació de la programació de teatre d’una determinada temporada. En el fitxer hi ha una seqüència d’obres. Per cada obra hi ha tres etiquetes: “autor:”, “titol:”, i “sala:”. Després de cada etiqueta hi ha la informació corresponent. Per exemple, la informació d’una obra podria ser:
autor: Txekhov titol: L’Hort dels cirerers sala: Romea.
En el fitxer hi ha una obra per línia. Suposeu que les etiquetes no poden aparèixer en el títol de les obres. Per exemple, hi pot haver una obra que es tituli: “A la recerca d’un personatge”, però no una que es tituli: “Busca un autor:”. El contingut d’un fitxer podria ser:
autor: Txekhov titol: L'Hort dels cirerers sala: Romea autor: Plaute titol: La comedia de l'olla sala: Villaroel autor: Shakespeare titol: La comedia dels errors sala: TNC autor: Galceran titol: El metode Gronholm sala: Poliorama autor: Shakespeare titol: Hamlet sala: Lliure
Pots descarregar aquest fitxer exemple
programacio.txt
Desa les següents funcions al fitxer autors.py.
Dissenyeu una funció anomenada
obresque a partir del nom d’un fitxer d’aquestes característiques, calculi i retorni una llista d’obres, essent una obra un string amb la informació completa de l’autor, el títol i la sala, incloent les etiquetes. Pel fitxer de l’exemple, la funció hauria de retornar:["autor: Txekhov titol: L'Hort dels cirerers sala: Romea", "autor: Plaute titol: La comedia de l'olla sala: Villaroel", 'autor: Shakespeare titol: La comedia dels errors sala: TNC', 'autor: Galceran titol: El metode Gronholm sala: Poliorama', 'autor: Shakespeare titol: Hamlet sala: Lliure']
Dissenyeu una funció anomenada
autorsque a partir d’una llista d’obres, retorni una llista d’autors. La llista d’autors retornada ha d’estar ordenada alfabèticament i no ha de contenir repeticions. Els noms d’autors no han de tenir espais en blanc al davant ni al darrera. Hi ha un mètode específic dels strings per a eliminar-los. Investigueu quin. A partir de la llista anterior, la funció hauria de retornar:['Galceran', 'Plaute', 'Shakespeare', 'Txekhov']
Dissenyeu una funció anomenada
autors_obresque a partir del nom d’un fitxer d’aquestes característiques, calculi i retorni una llista d’autors. La llista d’autors retornada ha d’estar ordenada alfabèticament i no ha de contenir repeticions. A partir del fitxer anterior, la funció hauria de retornar:['Galceran', 'Plaute', 'Shakespeare', 'Txekhov']
Pots descarregar un joc de proves a test-autors.txt i una solució a autors.py.