Esercizi sui Dizionari di Python: La tua Guida Amichevole per Padroneggiare i Dizionari

Ciao là, aspirante programmatore Python! Sono entusiasta di essere il tuo guida in questo avvincente viaggio nel mondo dei dizionari di Python. Come chi ha insegnato la programmazione per anni, posso dirti che i dizionari sono come gli Army knife svizzeri di Python - incredibilmente versatili e utili. Allora, allacciamo le maniche e ci immergiamo!

Python - Dictionary Exercises

Cos'sono i Dizionari?

Prima di saltare negli esercizi, ricapitoliamo rapidamente cos'sono i dizionari. Immagina un libro magico dove puoi trovare istantaneamente qualsiasi informazione solo pensando a una parola chiave. Questo è essenzialmente quello che è un dizionario di Python! È una raccolta di coppie chiave-valore, dove ogni chiave agisce come un identificatore unico per il valore associato.

Ecco un esempio semplice:

Il mio_primo_dizionario = {"nome": "Alice", "età": 25, "città": "Wonderland"}

In questo dizionario, "nome", "età" e "città" sono le chiavi, e "Alice", 25 e "Wonderland" sono i loro rispettivi valori.

Ora, inizi a fare le mani sporche con alcuni esercizi!

Esercizio sui Dizionari 1: Creazione e Accesso ai Dizionari

Compito: Crea un dizionario sul tuo libro preferito e accedi alle sue informazioni.

# Passo 1: Crea il dizionario
libro_preferito = {
"titolo": "Il Guida Galattico per Autostoppisti",
"autore": "Douglas Adams",
"anno": 1979,
"genere": "Fantascienza"
}

# Passo 2: Accedi e stampa le informazioni
print(f"Il mio libro preferito è {libro_preferito['titolo']} di {libro_preferito['autore']}.")
print(f"È stato pubblicato nel {libro_preferito['anno']} e è un romanzo di {libro_preferito['genere']}.")

Spiegazione:

  1. Creiamo un dizionario chiamato libro_preferito con quattro coppie chiave-valore.
  2. Utilizziamo le parentesi quadre [] per accedere ai valori tramite le chiavi.
  3. Utilizziamo le stringhe f per formattare in modo elegante l'output.

Quando esegui questo codice, vedrai una descrizione ben formattata del libro. Cool, no?

Sfida: Aggiungi una nuova coppia chiave-valore al dizionario

Prova ad aggiungere un "voto" al tuo dizionario libro_preferito. Ecco come fare:

libro_preferito["voto"] = 5
print(f"Dai a {libro_preferito['titolo']} un voto di {libro_preferito['voto']} su 5 stelle!")

Esercizio sui Dizionari 2: Modifica dei Dizionari

Compito: Crea un dizionario del tuo programma settimanale e modificalo.

# Passo 1: Crea il dizionario del programma
programma_settimanale = {
"Lunedì": "Classe di Python",
"Martedì": "Palestra",
"Mercoledì": "Serata al cinema",
"Giovedì": "Gruppo di studio",
"Venerdì": "Serata di giochi"
}

# Passo 2: Stampa il programma originale
print("Programma originale:")
for giorno, attività in programma_settimanale.items():
print(f"{giorno}: {attività}")

# Passo 3: Modifica il programma
programma_settimanale["Martedì"] = "Classe di yoga"
programma_settimanale["Sabato"] = "Escursione"

# Passo 4: Stampa il programma aggiornato
print("\nProgramma aggiornato:")
for giorno, attività in programma_settimanale.items():
print(f"{giorno}: {attività}")

In questo esercizio:

  1. Creiamo un dizionario del nostro programma settimanale.
  2. Utilizziamo un ciclo for con il metodo .items() per iterare attraverso il dizionario e stampare ogni giorno e attività.
  3. Modifichiamo una voce esistente ("Martedì") e aggiungiamo una nuova ("Sabato").
  4. Stampiamo il programma aggiornato per vedere le nostre modifiche.

Questo esercizio mostra quanto siano flessibili i dizionari. Puoi facilmente aggiornare le informazioni esistenti o aggiungere nuovi dati quando necessario.

Esercizio sui Dizionari 3: Metodi dei Dizionari

Compito: Esplora metodi utili dei dizionari usando una lista della spesa.

# Passo 1: Crea un dizionario della lista della spesa
lista_della_spesa = {
"mele": 5,
"banane": 3,
"latte": 2,
"pane": 1
}

# Passo 2: Usa il metodo get()
print(f"Ho bisogno di comprare {lista_della_spesa.get('mele', 0)} mele.")
print(f"Ho bisogno di comprare {lista_della_spesa.get('arance', 0)} arance.")

# Passo 3: Usa il metodo keys()
print("\nOggetti nella mia lista della spesa:")
for oggetto in lista_della_spesa.keys():
print(oggetto)

# Passo 4: Usa il metodo values()
numero_oggetti_totali = sum(lista_della_spesa.values())
print(f"\nNumero totale di oggetti da comprare: {numero_oggetti_totali}")

# Passo 5: Usa il metodo pop()
oggetto_rimosso = lista_della_spesa.pop('pane', 'Non trovato')
print(f"\nRimosso {oggetto_rimosso} dalla lista.")

# Passo 6: Stampa la lista finale
print("\nLista della spesa finale:")
for oggetto, quantità in lista_della_spesa.items():
print(f"{oggetto}: {quantità}")

Questo esercizio introduce alcuni metodi utili dei dizionari:

  • get(): Recupera un valore in modo sicuro, restituendo un valore predefinito se la chiave non esiste.
  • keys(): Restituisce una vista di tutte le chiavi nel dizionario.
  • values(): Restituisce una vista di tutti i valori nel dizionario.
  • pop(): Rimuove una coppia chiave-valore e restituisce il valore.
  • items(): Restituisce una vista di tutte le coppie chiave-valore come tuple.

Questi metodi rendono il lavoro con i dizionari un child's play!

Programmi di Esercizio sui Dizionari

Ora che abbiamo coperto la base, diamo un'occhiata a alcuni programmi pratici che utilizzano i dizionari.

Programma 1: Simple Contact Book

def rubrica_contatti():
contatti = {}
while True:
azione = input("Cosa vorresti fare? (aggiungi/vedi/esci): ").lower()
if azione == "esci":
break
elif azione == "aggiungi":
nome = input("Inserisci il nome del contatto: ")
numero = input("Inserisci il numero del contatto: ")
contatti[nome] = numero
print(f"Aggiunto {nome} ai contatti.")
elif azione == "vedi":
if contatti:
for nome, numero in contatti.items():
print(f"{nome}: {numero}")
else:
print("La tua rubrica è vuota.")
else:
print("Azione non valida. Per favore riprova.")

rubrica_contatti()

Questo programma crea una semplice rubrica dei contatti dove puoi aggiungere e visualizzare contatti. Mostra come i dizionari possono essere utilizzati per memorizzare e recuperare informazioni in modo user-friendly.

Programma 2: Contatore di Frequenza delle Parole

def frequenza_parole(frase):
parole = frase.lower().split()
frequenza = {}
for parola in parole:
frequenza[parola] = frequenza.get(parola, 0) + 1
return frequenza

# Esempio di utilizzo
testo_estratto = "Il volatile brown fox salta sopra il cane pigro. Il cane abbaia."
risultato = frequenza_parole(testo_estratto)
print("Frequenze delle parole:")
for parola, conteggio in risultato.items():
print(f"{parola}: {conteggio}")

Questo programma conta la frequenza delle parole in una frase data. Mostra come i dizionari possono essere utilizzati per l'analisi dei dati e il conteggio delle occorrenze.

Conclusione

Congratulazioni! Hai appena completato un viaggio avvincente attraverso i dizionari di Python. Dalla creazione e accesso ai dizionari alla loro modifica e uso dei metodi integrati, hai coperto molto terreno. Ricorda, la pratica fa il maestro, quindi non esitare a sperimentare questi concetti nei tuoi progetti.

I dizionari sono strumenti incredibilmente potenti in Python, e padroneggiarli aprirà un mondo di possibilità nella tua esperienza di programmazione. Continua a programmare, mantieniti curioso e, più importante, divertiti! Chi sa? Potresti finire per utilizzare i dizionari per organizzare la tua guida hitchhiker's personale alla galassia Python! ??

Metodo Descrizione Esempio
get() Recupera un valore per una chiave data, con un valore predefinito se la chiave non è trovata dict.get('chiave', valore_predefinito)
keys() Restituisce una vista di tutte le chiavi nel dizionario dict.keys()
values() Restituisce una vista di tutti i valori nel dizionario dict.values()
items() Restituisce una vista di tutte le coppie chiave-valore come tuple dict.items()
pop() Rimuove una coppia chiave-valore e restituisce il valore dict.pop('chiave', valore_predefinito)
update() Aggiorna il dizionario con elementi da un altro dizionario o iterable di coppie chiave-valore dict.update({'nuova_chiave': 'nuovo_valore'})
clear() Rimuove tutti gli elementi dal dizionario dict.clear()
copy() Restituisce una copia superficiale del dizionario nuovo_dizionario = dict.copy()
setdefault() Restituisce il valore di una chiave se esiste, altrimenti inserisce la chiave con un valore specificato dict.setdefault('chiave', valore_predefinito)
fromkeys() Crea un nuovo dizionario con chiavi specificate e valori dict.fromkeys(['chiave1', 'chiave2'], valore)

Credits: Image by storyset