Gossos i fitxers¶
En el programari de gestió d’un refugi de gossos, es representa un gos com un tuple format pel nom del gos, la seva raça aproximada (un string que pot ser “westy”, “boxer”, “labrador”, “pastor” o “altres”), la seva edat en mesos (un enter) i una llista de 5 booleans que indica els controls sanitaris que el gos ha passat (el primer booleà de la llista té valor True si l’han rentat, el segon és True si li han fet una visita veterinària, el tercer indica si li han aplicat la vacuna anti-ràbica, el quart si se li ha administrat un medicament anti-paràsits i l’últim si se li ha aplicat una pipeta anti-paparres). Per exemple, el tuple: (“Taf”, “westy”, 4, [True, False, False, False, False]) representa un westy anomenat Taf de 4 mesos al que han rentat però que no ha rebut cap altre control sanitari.
Dissenya una funció que, donat un tuple que representa un gos i donat un string que representa una raça, retorni True si el gos és de la raça donada.
Dissenya una funció que donat un gos, retorni True si el gos ha passat per tots els controls sanitaris.
El fitxer “Media:gossos.txt“ conté informació sobre els gossos del refugi: a cada línia, conté les característiques del gos codificades com un únic string format pel nom, la raça, els mesos d’edat i els 5 booleans de control sanitaris. Dissenya una funció que, a partir de les dades del fitxer, retorni una llista de gossos representats per tuples tal i com està descrit al principi de l’enunciat. Suposeu que si el nom o la raça són noms compostos, estan ajuntats amb guions. la llista ha d’estar ordenada alfabèticament pel nom de l’animal.
Dissenya una funció com l’anterior tal que, en lloc d’una llista de gossos, obtingui i retorni un tuple de gossos.
Dissenya una funció que donat el nom d’un fitxer amb un contingut del tipus del fitxer «gossos.txt», el nom d’una raça i el nom d’un segon fitxer, escrigui en aquest segon fitxer, el nom de tots els gossos que estan al fitxer inicial que són de la raça indicada i que hagin passat tots els controls sanitaris (un a cada línia).
Dissenya una funció que, donada una llista de gossos, retorni una segona llista de 5 elements (1 per cada raça de gos), tal que cada element de de la llista és un tuple de 3 elements: la raça, el nombre de gossos d’aquella raça que hi ha al refugi i el tant per cent d’aquests gossos que han passat per tots els controls sanitaris. Per la llista creada a partir del fitxer “gossos.txt”, la nova llista a retornar és: [(“altres”, 3, 66.666666666666657), (“boxer”, 1, 100.0), (“pastor”, 2, 50.0), (“westy”, 1, 0.0)]. Observeu que aquesta llista està ordenada alfabèticament per races.