1. Màxims i mínims actuals (5 punts)¶
Avís
Per a resoldre aquest exercici no es poden fer servir llistes, tuples, diccionaris ni cap altra estructura de dades per a desar els elements d’un iterador.
Donada una seqüència d’enters, definim el màxim actual com el màxim dels valors que hi ha a la seqüència fins arribar a l’element i-èssim, inclòs. De manera anàloga, definim el mínim actual com el mínim dels valor que hi ha a la seqüència fins a l’element i-èssim, també inclòs.
Es demana que, en un fitxer anomenat mmact.py, hi deseu la funció generadora especificada a continuació:
- mmact.max_min_actuals(it)¶
- Paràmetres:
it – iterador sobre una sèqüència no buida de valors enters.
- Retorna:
iterador que genera la seqüència de tuples amb dos elements, el mínim i el màxim actuals de cada valor de it.
Per exemple:
>>> it = max_min_actuals(iter([2, 4, 7, 1, 8]))
>>> next(it)
(2, 2)
>>> next(it)
(2, 4)
>>> next(it)
(2, 7)
>>> next(it)
(1, 7)
>>> next(it)
(1, 8)
>>> next(it, 'final') # comprovació que l'iterador s'ha exhaurit
'final'
Disposeu d’un joc de proves més complet en el fitxer tests-mmact.txt