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