Agenda X23380


Statement
 

pdf   zip

html

Es demanen els codis de diverses funcions. Seguiu el format dels exemples que es mostren a sota.

  1. Feu una funció creaDiccionari(l) en que, donada una llista de llistes on cada subllista conté dos strings que representen un nom i un telèfon, retorni un diccionari on les claus siguin un string amb el nom i els valors un string amb el número de telèfon. Suposa que no hi ha noms repetits. Exemple d’entrada:
    [["maria", "931111111"], ["pep", "912222222"], ["anna", "93919391"]]
    
  2. Feu una funció creaDiccionariRepetits(l) en que, donada una llista de llistes on cada subllista conté dos strings que representen un nom i un telèfon, retorni un diccionari on les claus siguin un string amb el nom i els valors una llista de strings amb els diferents números de telèfon d’una mateixa persona. Exemple d’entrada:
    [["maria", "931111111"], ["pep", "912222222"], ["anna", "93919391"],\
     ["pep", "66477333"], ["maria", "665322888"]]
    

Les funcions valen 40 i 60 punts respectivament.

Observació

Aquest problema és part del problema "Agenda bàsica" creat per professors del departament de Ciències de la Computació amb docència a l’ETSEIB. Podeu consultar l’original a:

http://gie.cs.upc.edu/fi/temes/diccionaris/Agenda_bàsica.html

Sample session
>>> l = [["maria", "931111111"], ["pep", "912222222"], ["anna", "93919391"]]
>>> d = creaDiccionari(l)
>>> d == {"maria": "931111111", "pep": "912222222", "anna": "93919391"}
True
>>> l2 = [["maria", "931111111"], ["pep", "912222222"], ["anna", "93919391"],\
...       ["pep", "66477333"], ["maria", "665322888"]]
>>> d2 = creaDiccionariRepetits(l2)
>>> d2 == {"maria": ["931111111", "665322888"], "anna": ["93919391"],\
...        "pep": ["912222222", "66477333"]}
True
>>>
Information
Author
Professors del departament de CS amb docència a l'ETSEIB
Language
Catalan
Official solutions
Python
User solutions
Python