2. Missatge [3p]

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 dels iteradors.

Es demana que al mòdul miss (fitxer miss.py) facis la funció especificada a continuació:

miss.miss(iti, L)
Paràmetres:
  • iti – iterador d’una sequència d” int

  • L – llista de lletres minúscules (str de longitud 1)

Retorna:

dos iteradors:

  • El primer sobre una seqüència de lletres que estan a les posicions indicades pels enters d”iti a la llista L en el seu mateix ordre.

  • El segon sobre la seqüència de les mateixes lletres del primer sense les vocals.

Per exemple:


>>> iti = iter([1, 4, 3, 6, 2, 7, 5, 8, 9])
>>> L = ['h', 'c', 'a', 'b', 'a', 'o', 'r', 'l', 'c', 'a']
>>> it1, it2 = miss(iti, L)
>>> it1 == iter(it1) and it2 == iter(it2) 
True
>>> list(it1)
['c', 'a', 'b', 'r', 'a', 'l', 'o', 'c', 'a']
>>> list(it2)
['c', 'b', 'r', 'l', 'c']

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