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