Filtra DNI

Disposem d’un fitxer que conté informació sobre diverses persones a on cada línia representa una persona i conté el DNI i la data de naixement. Per exemple:

99050083 27 12 1964
66230500 11 2 2003
89050083 17 12 2010

Pots descarregar el fitxer d’exemple persones.txt.

Dissenya la funció filtre_edat que, donats dos strings nomf1 i nomf2, a on nomf1 és el nom d’un fitxer de persones, i dos enters any_inici i any_fi, llegeixi la informació del fitxer nomf1 i escrigui al fitxer nomf2 els DNIs ordenats de petit a gran de les persones nascudes entre any_fi i any_fi (ambdós anys inclosos).

Desa la funció al fitxer filtre.py. La funció ha de passar el següent doctest:

>>> nomfin = 'persones.txt'
>>> nomfout = 'filtrat1.txt'
>>> filtre_edat(nomfin, nomfout, 1999, 2005)
>>> with open(nomfout, 'r') as fout:
...    llista = fout.read().split()
>>> llista
['10005903', '14999875', '21160449', '28281002', '30927410', '47491163', '66230500', '83459619', '99176324']

Nota

Podeu descarregar el fitxer amb tests test-filtre-edat.txt

Solucions

Disposeu de solucions al fitxer filtre.py