Codi secret *(4 punts)* ======================= .. module:: codisecret .. warning:: Per a resoldre aquest exercici **no es poden fer servir llistes**, tuples, diccionaris ni cap altra estructura de dades **per a desar tots els elements d'un iterador**. Per comunicar-se de forma secreta, uns investigadors volen enviar-se una llista de sospitos d'un cas criminal. Cada persona investigada té un pseudònim de 4 lletres. Per passar-se la llista de forma encriptada utilitzen la següent estrategema: s'envien un text tal que els pseudònims dels sospitosos estan formats per les dues primeres lletres de dues paraules consecutives del text. Per exemple amb el :py:class:`str`: `"pans copa manta rimel jornada serrall cama lira loteria latitud dau niu nas"`, obtindriem un iterador de la seqüència: `paco mari jose cali lola dani nana` Vegeu com el nom 'paco' es construeix a partir de les paraules 'pans' i 'copa' i com 'mari' es crea amb 'manta' i 'rimel'. Com es pot veure en l'exemple anterior, si la seqüencia inicial té un nombre senar de paraules, el darrer nom està format per la repetició de les dues primeres lletres de la darrera paraula ('nana' en l'exemple). Es demana que, en un fitxer anomenat :file:`codisecret.py`, hi deseu la funció generadora especificada a continuació: .. function:: revela(text) :param text: un :py:class:`str` format per paraules separades per un o més espai, sense signes de puntuació i en el qual totes les paraules tenen com a mínim 2 lletres. :return: un iterador dels noms dels sospitosos, tots formats per 4 caràcters Per exemple: .. literalinclude:: tests-revela.txt :language: python :start-after: --ini-enunciat :end-before: --fi-enunciat Disposeu d'un joc de proves més complet en el fitxer :download:`tests-revela.txt`