Es demanen els codis de diverses funcions. Seguiu el format dels exemples que es mostren a sota.
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"]]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.
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
>>> 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 >>>