In questa lezione vi propongo una serie di esercizi sui dizionari in Python al fine di esercitarci ed apprendere nuovi concetti.
Esercizi sui dizionari in Python – primo esercizio
Il primo esercizio che vi propongo consente di prendere delle liste ed elaborarle al fine di creare una lista di dizionari.
Creare tre liste che rappresentino tre elenchi di nomi, cognomi ed età. Ad esempio nomi: Tom, Mario, Luisa; cognomi: Rossi, Verdi, Gialli; eta: 22, 23, 21 Creare una nuova lista dove ogni elemento è rappresentato del tipo {‘nome’: nome, ‘cognome’: cognome, ‘eta’: eta}. Gli elementi devono essere accoppiati in base all’ordine.
Ecco una possibile soluzione all’algoritmo proposto che fa uso di zip, un oggetto che è un iteratore di tuple ed accoppia ogni elemento iterato:
names = ['Tom','Mario','Luisa']
surnames = ['Rossi', 'Verdi', 'Gialli']
ages = [22,21,23]
contacts = []
for name, surname, age in zip(names,surnames,ages):
contacts.append({'nome': name, 'cognome': surname, 'age': age})
print(contacts)
Esercizi sui dizionari in Python – secondo esercizio
Ecco un altro esercizio che consente di esercitarci con i dizionari.
Creare un dizionario di partenza che contenga un nome ed un cognome. Dopo inserier la matricola, chiedendola in input e aggiungere poi gli esami stostenuti con il nome della materia ed il voto ottenuto.
Per risolvere l’algoritmo abbiamo dapprima creato un dizionario con il nome e cognome di uno studente. Dopo abbiamo chiesto allo studente di inserire la propria matricola. Poi abbiamo chiesto quante materie vuole aggiungere e per ciascuna materia abbiamo aggiunto il nome ed il voto.
Ecco, dunque, una possibile soluzione:
contacts = {'name':'Tom','surname':'Verdi'}
contacts['matricola'] = input('Inserisci il numero della matricola: ')
contacts['esami'] = []
n = int(input('Quante materie aggiungere?'))
for i in range(1, n + 1):
materia = input('Inserisci la materia')
voto = int(input('Inserisci il voto'))
contacts['esami'] += [{'materia': materia,'voto': voto}]
print (contacts)
Chiaramente queste sono solo alcune soluzioni agli esercizi proposti sui dizionari in Python, proponete pure le vostre.
Alcuni link utili
Indice tutorial sul linguaggio Python
1 – Introduzione al linguaggio Python
2 – Le variabili
3 – Operatori aritmetici e di assegnazione
4 – Stringhe
5 – Casting
6 – Input e print
8 – Errori in Python
9 – Script Python
10 – Scambio di variabili
11 – Modulo math