Codificació (5 punts)
=====================
.. module:: codificacio
.. warning:: Per resoldre aquest exercici **no es poden fer servir
llistes**, tuples, diccionaris ni cap altra estructura de
dades **per desar tots els elements d'un iterador**.
Tenim una sèrie `P` de parells (string, llista), on cada llista pot contenir elements de qualsevol tipus bàsic. Es vol aplicar una codificació de cada parell `(s,l)` de `P`, aplicant una regla senzilla:
* per cada enter positiu `n` de `l`, caldrà generar un string que sigui el resultat de repetir `n` vegades l'string `s`.
* per la resta d'elements de `l` que no siguin enters positius, s'ha de generar un string amb tants asteriscs com la longitud de `s`.
Per exemple, si un parell d'entrada és:
.. raw:: html
('manel', [3,'hi',-2, 2,1])
la tupla codificada per aquest parell produirà els següents elements:
.. raw:: html
'manelmanelmanel'
'*****'
'*****'
'manelmanel'
'manel'
Dissenya la funció següent i desa-la al mòdul :mod:`codificacio` (fitxer :file:`codificacio.py`):
.. function:: codifica_tuples_paraules(it)
:param it: iterador sobre una sèrie `P` de parells (:py:class:`string`, :py:class:`list`)
:return: iterador sobre la codificació de tots els elements d'`it`
Es recomana utiltzar la funció :py:func:`isinstance()` per comprovar el tipus d'un objecte.
Per exemple,
.. literalinclude:: tests-codifica.txt
:language: pycon
:start-after: --ini-enunciat
:end-before: --fi-enunciat
Disposes d'un joc de proves més complet al fitxer :download:`tests-codifica.txt`.