Ús de la classe Vago ==================== .. py:module:: vagons Al fitxer :download:`vagons.py ` hi disposeu de la classe :py:class:`Vago`, que permet de representar vagons de trens. La seva especificació és la següent: .. py:class:: Vago (idt, nseu, npeu) .. rubric:: Atributs: .. py:attribute:: id Identificador del vagó (:py:class:`str`) .. py:attribute:: nseients Nombre de seients del vagó (:py:class:`int`) .. py:attribute:: npeu Nombre màxim de persones que poden estar a peu dret al vagó (:py:class:`int`) .. rubric:: Mètodes: .. py:method:: capacitat() Retorna la capacitat total del vagó, comptant el màxim de persones dretes i assegudes La classe suporta a més la funció :py:class:`str` que retorna l'expressió 'Vago id' on `id` és l'identificació del vagó. Els paràmetres de la instanciació són l'identificador, el nombre de seients i de persones dretes que hi caben. Els atributs corresponents s'inicialitzen a partir d'aquests paràmetres. #. En un shell de python, creeu una instància de la classe :py:class:`Vago`. Consulteu i modifiqueu els seus atributs. Invoqueu el mètode :py:meth:`capacitat` i comproveu que funcioni. Utilitzeu la funció :py:func:`str`. #. Al fitxer :download:`tests-vagons.txt ` trobareu uns tests d'aquesta classe. Passeu-lo per assegurar-vos de que no conté errors ... i de pas refrescar com es fa. #. Al mòdul :py:mod:`crear_vagons.py` implementeu la funció especificada a continuació: .. py:module:: crear_vagons .. function:: crear_vagons(nvag, nseu, npeu) :param nvag: un enter entre 0 i 99 que representa el nombre de vagons a crear :param nseu: un enter que representa el nombre de seients de cadascun dels vagons a crear :param npeu: un enter que representa el nombre de persones que caben d'empeu en cadascun dels vagons a crear :return: un iterador d'instàncies de la classe :py:class:`Vago`, totes amb el mateix nombre de persones d'empeu i assegudes i amb identificadors de format 'VAG-XX' on 'XX' és el número del vagó començant per '00', '01' i així successsivament. Vegeu per exemple: .. literalinclude:: tests-crear_vagons.txt :language: python :start-after: --ini-test-vagons :end-before: --fi-test-vagons .. 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**. Disposeu de més tests al fitxer :download:`tests-crear_vagons.txt ` i d'una solució :download:`crear_vagons.py `