.. module:: cracks Notes excel·lents 2 =================== Es disposa d'un *diccionari d'estudiants* on la clau és el nom d'un estudiant i el valor és una llista amb 5 reals corresponents a les notes de les 5 assignatures de primer i un altre real corresponent a la mitjana de les notes. També es disposa d'un *tuple d'assignatures* on hi ha els noms de les 5 assignatures de primer, en el mateix ordre en què apareixen a totes les llistes dels estudiants al diccionari. Exemple: .. literalinclude:: test-cracks.txt :language: pycon :start-after: ---- dades inici :end-before: ---- dades fi En el mòdul :mod:`cracks` (fitxer :file:`cracks.py`), dissenyeu les funcions següents: .. function:: escriu_excellents(fitxer, estudiant, notes, assignatures) `fitxer` és un :term:`objecte fitxer ` obert per escriptura. `estudiant` és un nom d'estudiant. `notes` és una llista de notes com la dels valors d'un *diccionari d'estudiants*. `assignatures` és un *tuple d'assignatures*. Escriu al `fitxer` una línia per cada nota excel·lent de `notes`. La línia ha de tenir el format següent: | La nota de **assignatura** de `estudiant` és **nota** Per exemple: .. literalinclude:: test-escriu_excellents.txt :language: pycon :start-after: ---- inici :end-before: ---- fi Trobaràs més tests al fitxer :download:`test-escriu_excellents.txt`. | .. function:: cracks (notes, assignatures, nomf) `notes` és un *diccionari de notes`*. `assignatures` és un *tuple d'assignatures*. `nomf` és el nom del fitxer on s'ha d'escriure el resultat. Crea el fitxer `nomf` en què per cada estudiant de `notes` hi ha d'haver una línia si la nota mitjana és un excel·lent i, a més, tantes línies com escrigui la funció :func:`~escriu_excellents` a partir de les notes de l'estudiant. L'ordre en què apareixen els estudiants al fitxer ha de ser el mateix en què es recorren les claus de `notes`. Una nota és un excel·lent si està compresa entre 9 i 10 (ambdós inclosos). El format de les línies amb la nota mitjana ha de ser: | La nota mitjana de **estudiant** és **nota** Per exemple: .. literalinclude:: test-cracks.txt :language: pycon :start-after: ---- tests inici :end-before: ---- tests fi Trobaràs més tests al fitxer :download:`test-cracks.txt`. .. rubric:: Solucions Disposes de solucions al fitxer :download:`cracks.py`.