2. Extracció de nombres negatius (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 tots els elements d’un iterador.

Es demana que dissenyeu la funció especificada a continuació i la deseu en un fitxer anomenat extraccio.py:

extraccio.extreu_negatius(it)
Paràmetres:

it – iterador sobre una seqüència S de strings, alguns dels quals representen nombres enters.

Retorna:

iterador sobre els nombres enters negatius que hi ha a la seqüència S.

Per exemple,


>>> it = iter('Avui estarem entre -10 i -5 graus centígrads'.split())
>>> itr = extreu_negatius(it)
>>> next(itr)
-10
>>> next(itr)
-5
>>> next(itr, 'final')
'final'

>>> for num in extreu_negatius(iter('-5  89 i -123 són nombres enters però -12.345 no ho és'.split())):
...    print(num*2)
-10
-246

Suggeriment

Per a resoldre el problema es recomana utilitzar la funció isdigit().

Disposeu d’un joc de proves més complet al fitxer tests-extreu.txt