Exercicis: Diccionaris
Llicència: CC BY-NC-SA 4.0
(Reconeixement - NoComercial - CompartirIgual) 🅭
Objectius
Els objectius d'aquests exercicis són:
Conéixer l'estructura de dades dict.
Conéixer les operacions bàsiques amb diccionaris.
Recórrer diccionaris amb bucles.
Combinar diccionaris amb llistes.
Els exercicis marcats amb ✅ seran corregits a classe.
Estructura del projecte
Tots els exercicis han de complir amb la següent estructura:
Cada exercici ha d'anar dins del directori corresponent.
El nom del fitxer ha de coincidir amb el títol de l'exercici.
El format de l'eixida del programa ha de ser consistent
amb el format demanat.
Exercicis
ud3/exercises/dicts
✅ word_counter.py
Crea un programa que compte el nombre d'ocurrències de cada paraula en un text.
El programa ha de llegir un text de l'usuari (una sola línia) i mostrar
quantes vegades apareix cada paraula, ordenades alfabèticament.
Exemple d'entrada i eixida
Entrada
Hola món hola Python món món Python
Eixida
Ampliació: ordenació per aparicions
Modifica el programa anterior perquè l'eixida mostre
les paraules ordenades per:
Nombre d'aparicions.
En cas d'empat, en ordre alfabètic.
Entrada
Hola món hola Python món món Python
Eixida
letter_frequency.py
Crea un programa que analitze la freqüència de cada lletra en un text.
El programa ha de llegir un text de l'usuari i mostrar la freqüència
de cada lletra (sense distingir majúscules de minúscules),
ordenades de major a menor freqüència.
Consell
Utilitza el mètode lower() per convertir el text a minúscules.
Ignora els espais i caràcters que no siguen lletres.
Exemple d'entrada i eixida
Introdueix un text: Hola món, això és Python!
o: 3
n: 2
h: 2
l: 1
a: 1
m: 1
i: 1
x: 1
s: 1
p: 1
y: 1
t: 1
✅ translate_dict.py
Crea un programa que traduïsca paraules de l'anglès al valencià.
El programa ha de:
Crear un diccionari amb almenys 10 paraules en anglès i la seua traducció.
Exemple de diccionari
translations = {
"hello" : "hola" ,
"world" : "món" ,
"cat" : "gato" ,
"dog" : "gos" ,
"food" : "menjar" ,
"water" : "aigua" ,
"house" : "casa" ,
"car" : "cotxe" ,
"book" : "llibre" ,
"computer" : "ordinador"
}
Llegir una frase en anglès.
Traduir cada paraula al valencià si existeix en el diccionari.
Si no existeix, deixar-la igual.
Mostrar la traducció completa.
Exemple d'entrada i eixida
Introdueix una frase en anglès: hello world this is Python
Traducció: hola món this is Python
✅ phonebook.py
Crea un programa que gestione una agenda telefònica simple.
El programa ha de permetre a l'usuari:
Afegir un contacte (nom i telèfon).
Buscar un contacte per nom.
Eliminar un contacte.
Mostrar tots els contactes.
Eixir.
Exemple d'entrada i eixida
=== AGENDA TELEFÒNICA ===
1. Afegir contacte
2. Buscar contacte
3. Eliminar contacte
4. Mostrar tots els contactes
5. Eixir
Opció: 1
Nom: Joan
Telèfon: 123456789
Contacte afegit.
=== AGENDA TELEFÒNICA ===
1. Afegir contacte
2. Buscar contacte
3. Eliminar contacte
4. Mostrar tots els contactes
5. Eixir
Opció: 1
Nom: Maria
Telèfon: 987654321
Contacte afegit.
=== AGENDA TELEFÒNICA ===
1. Afegir contacte
2. Buscar contacte
3. Eliminar contacte
4. Mostrar tots els contactes
5. Eixir
Opció: 4
Joan: 123456789
Maria: 987654321
=== AGENDA TELEFÒNICA ===
1. Afegir contacte
2. Buscar contacte
3. Eliminar contacte
4. Mostrar tots els contactes
5. Eixir
Opció: 2
Nom: Joan
Telèfon de Joan: 123456789
=== AGENDA TELEFÒNICA ===
1. Afegir contacte
2. Buscar contacte
3. Eliminar contacte
4. Mostrar tots els contactes
5. Eixir
Opció: 3
Nom: Maria
Contacte eliminat.
=== AGENDA TELEFÒNICA ===
1. Afegir contacte
2. Buscar contacte
3. Eliminar contacte
4. Mostrar tots els contactes
5. Eixir
Opció: 5
Adéu!
dict_utils.py
Crea un mòdul que implemente els següents mètodes per a treballar amb diccionaris:
merge_dicts(dict1, dict2): Combina dos diccionaris en un de nou.
✅ eleccio_delegat.py
Crea un programa que indique quin alumne ha estat elegit delegat de classe
segons els vots dels companys.
El programa ha de:
Demanar els vots dels alumnes fins que s'escriga una línia buida.
Comptar els vots i determinar quin alumne ha rebut més vots.
Implementeu els següents mètodes:
read_votes(): Llegeix els vots dels alumnes i els retorna en una llista.
>>> votes = read_votes ()
Carla
Joan
Maria
Carla
Joan
Carla
[ 'Carla' , 'Joan' , 'Maria' , 'Carla' , 'Joan' , 'Carla' ]
count_votes(votes): Rep una llista de vots i retorna un diccionari
amb el nombre de vots per a cada alumne.
>>> vote_count = count_votes ( votes )
{ 'Carla' : 3 , 'Joan' : 2 , 'Maria' : 1 }
max_votes(vote_count): Rep un diccionari de vots i retorna
els vots màxims.
>>> max_vote = max_votes ( vote_count )
3
elected_students(vote_count_dict, count): Rep un diccionari de vots
i un nombre de vots, i retorna una llista amb els alumnes
que han rebut eixe nombre de vots.
>>> elected = elected_students ( vote_count , max_vote )
[ 'Carla' ]
group_by_initial.py
Crea un programa que agrupe paraules per la seua inicial.
El programa ha de llegir una llista de paraules i crear un diccionari
on les claus són les lletres inicials i els valors són llistes
de paraules que comencen amb eixa lletra.
El programa ha de continuar llegint paraules fins que l'usuari
introduïsca una línia buida.
Exemple d'entrada i eixida
Paraula: poma
Paraula: pera
Paraula: plàtan
Paraula: maduixa
Paraula: meló
Paraula: taronja
Paraula: pebrot
Paraula: melocotó
Paraula:
Paraules agrupades per inicial:
p: ['poma', 'pera', 'plàtan', 'pebrot']
m: ['maduixa', 'meló', 'melocotó']
t: ['taronja']
📌 Aquest document pot quedar desactualitzat després d’imprimir-lo. Pots consultar la versió més recent
a la pàgina web .
🌿 Abans d’imprimir aquest document, considera si és realment necessari. Redueix el consum de paper i ajuda a protegir el nostre entorn.