2. Processament de text (5 punts)¶
Avís
Per a resoldre aquest exercici no es poden fer servir iteracions (ni for ni while ), només les funcions predefinides de Python i les dels mòduls itertools, functools i operator. Tampoc no es poden fer servir llistes, tuples, diccionaris ni cap altra estructura de dades per a desar els elements d’un iterador.
El sistema de qualitat d’una agència de premsa inclou un procés en el qual es comparen diverses versions d’un mateix text, per detectar si s’han produït canvis. En aquest context, es demana que, en un fitxer anomenat analisi.py, hi deseu la funció especificada a continuació:
- analisi.processa_text(it_text1, it_text2)¶
Si un dels dos iteradors té més paraules que l’altre, les paraules sobrants no es processen.
Vegeu per exemple:
>>> it_text1 = iter('a b clor'.split())
>>> it_text2 = iter('a bb clor'.split())
>>> it = processa_text(it_text1, it_text2)
>>> next(it)
1
>>> next(it, 'final')
'final'
>>> it_text1 = iter('amor bonic sabata'.split())
>>> it_text2 = iter('a bonic patata'.split())
>>> it = processa_text(it_text1, it_text2)
>>> next(it)
3
>>> next(it)
0
>>> next(it, 'final')
'final'
Disposeu d’un joc de proves més complet al fitxer tests-analisi.txt