Fauna dels Ports¶
Es disposa d’un text sobre la fauna dels Ports on hi ha noms d’animals
en la seva versió vulgar (p. e. cabres, senglars, …). Aquest text es
troba en un fitxer seqüencial de text sense salts de línia. Podeu
descarregar-vos el fitxer
faunavulgar.txt amb un
exemple. També es disposa d’un diccionari on cada parell està format
pel plural del nom vulgar d’un animal (clau) i el seu nom científic
(valor). Es pot suposar que els noms vulgars al text sempre apareixen
en plural.
Dissenya la funció fauna que a partir del nom d’un fitxer inicial
amb un text com l’indicat, d’un diccionari del tipus indicat i del nom
d’un altre fitxer de sortida, escrigui en el fitxer de sortida el
mateix text del fitxer inicial, posant després del nom vulgar el nom
científic entre parèntesis.
Desa la funció al fitxer fauna.py. La funció ha de passar el
següent doctest:
>>> nomini = 'faunavulgar-1.txt'
>>> nomsor = 'faunacient-1.txt'
>>> text_fauna = """Salten per tot el massís un gran ramat de cabres
... amb una important població de cinc mil exemplars i que constitueix
... l'espècie més emblemàtica dels Ports. Els senglars també estan
... escampats per tota la serralada. Els llops fa més de 100 anys que
... foren extingits. Les raboses són més petites i menys dolentes. Les
... àligues volen per molts indrets. Els voltors també es veuen. Entre
... els rosegadors hi ha esquirols i hi ha escurcons com a rèptils."""
>>> with open(nomini, 'w') as f:
... nc = f.write(text_fauna)
>>> dicc = {
... 'cabres': 'capra hispanica',
... 'senglars': 'sus scrofa',
... 'llops': 'canis lupus',
... 'raboses': 'vulpes vulpes',
... 'àligues': 'aguila chrysaetos',
... 'voltors': 'gyps fulvus',
... 'esquirols': 'sciurus vulgaris',
... 'escurcons': 'vipera latasti',
... }
>>> fauna (nomini, dicc, nomsor)
>>> with open (nomsor) as f:
... s = f.read()
>>> s
"Salten per tot el massís un gran ramat de cabres (capra hispanica) amb una important població de cinc mil exemplars i que constitueix l'espècie més emblemàtica dels Ports. Els senglars (sus scrofa) també estan escampats per tota la serralada. Els llops (canis lupus) fa més de 100 anys que foren extingits. Les raboses (vulpes vulpes) són més petites i menys dolentes. Les àligues (aguila chrysaetos) volen per molts indrets. Els voltors (gyps fulvus) també es veuen. Entre els rosegadors hi ha esquirols (sciurus vulgaris) i hi ha escurcons (vipera latasti) com a rèptils."
Observa que pot usar la funció cientific() de
l’exercici Fauna dels Ports.
Nota
Pots descarregar el fitxer amb tests fauna.txt.
Solució
Disposea de solucions al fitxer fauna.py