Iterador amb rectangles (2 punts) ================================== .. module:: itrect .. warning:: 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**. Dissenya la funció següent, que pots implementar com un generador o bé fent servir les funcions predefinides i els mòduls de Python que treballen amb iteradors, i desa-la al mòdul :mod:`itrect` (fitxer :file:`itrect.py`): .. function:: interseccions(it) :param it: iterador sobre una seqüència no buida de rectangles :math:`R_0, \, R_1, \, R_2, \, R_3, \, \dots` (instàncies de la classe :py:class:`Rectangle`) :return: iterador sobre una seqüència `S` d'enters :math:`A_1, \, A_2, \, \dots`, on cada valor :math:`A_i` és l'àrea de la intersecció dels rectangles :math:`R_{i-1}` i :math:`R_i`, sempre que aquesta intersecció no sigui buida (és a dir, la seqüència `S` només ha d'incloure valors estrictament positius). Per exemple, .. literalinclude:: tests-itrect.txt :language: pycon :end-before: --fi-enunciat .. hint:: Fixeu-vos bé en l'especificació de la classe :py:class:`Rectangle`, ja que disposa de mètodes i operacions que us ajudaran a implementar aquesta funció. Disposeu d'un joc de proves al fitxer :download:`tests-itrect.txt`.