Agenda bàsica ============= .. py:module:: agenda Dissenya les següents funcions en Python i desa-les al fitxer :file:`agenda.py`: .. py:function:: crea_agenda(ldades) Donada una llista de llistes *ldades*, on cada subllista conté dos strings que representen un nom i un telèfon, retorna un diccionari les claus del qual seran un string amb el nom, i els valors un string amb el número de telèfon. Suposa que no hi ha noms repetits a *ldades*. Per exemple, .. literalinclude:: test_crea_agenda.txt :language: python :lines: 3- .. note:: Podeu descarregar el fitxer amb tests :download:`test_crea_agenda.txt `. .. py:function:: compta_prefixos(agenda, prefix) Donat un diccionari *agenda* com el que retorna la funció anterior i un prefix telefònic (string), retorna quants números de telèfon del diccionari comencen amb aquest prefix. Per exemple, .. literalinclude:: test_compta_prefixos.txt :language: python :lines: 3- .. note:: Podeu descarregar el fitxer amb tests :download:`test_compta_prefixos.txt `. .. py:function:: conte_prefix(agenda, prefix) Donat un diccionari com el descrit anteriorment i un prefix telefònic (string), retorni un booleà que indica si algun telèfon de l'agenda comença pel prefix indicat. Per exemple, .. literalinclude:: test_conte_prefix.txt :language: python :lines: 3- .. note:: Podeu descarregar el fitxer amb tests :download:`test_conte_prefix.txt `. .. py:function:: noms_prefix(agenda, prefix) Donat un diccionari com el descrit anteriorment i un prefix telefònic (string), retorna una llista amb els noms que tenen un telèfon amb aquest prefix, ordenada alfabèticament. Per exemple, .. literalinclude:: test_noms_prefix.txt :language: python :lines: 3- .. note:: Podeu descarregar el fitxer amb tests :download:`test_noms_prefix.txt `. .. py:function:: crea_agenda_reps(ldades) Fa el mateix que *crea_agenda_reps* però admet una llista amb noms repetits. Retorna un diccionari les claus del quals són els noms, i cada valor associat és una llista de strings amb tots els numeros de telèfon que corresponen al nom. L'ordre dels telèfons de cada nom serà el mateix en el que apareixen a la llista que se li passa com a paràmetre. Per exemple, .. literalinclude:: test_crea_agenda_reps.txt :language: python :lines: 3- .. note:: Podeu descarregar el fitxer amb tests :download:`test_crea_agenda_reps.txt `. .. rubric:: Solució Disposeu d'una solució al fitxer :download:`agenda.py `.