Vai al contenuto
eLearner.app

Fine del Corso Python

Riepilogo e sfida finale

Complimenti: hai attraversato i 9 moduli del Corso Python — dalle prime variabili e if fino a @dataclass, contextmanager e @decorator. Qui sotto la mappa di tutto quello che padroneggi e una sfida finale in tre tappe.

01 · Basi

  • variabili
  • tipi
  • f-string
  • input/output

02 · Controllo del flusso

  • if / elif
  • for / while
  • break / continue
  • try / except

03 · Strutture dati

  • list
  • tuple
  • set
  • dict

04 · Stringhe e numeri

  • metodi stringa
  • slicing
  • math
  • formattazione

05 · Funzioni

  • def / return
  • *args / **kwargs
  • lambda
  • scope

06 · Comprehensions e iteratori

  • list/dict/set comp
  • generator
  • map / filter
  • itertools

07 · OOP e moduli

  • class
  • __init__
  • eredità
  • import

08 · Standard library

  • json
  • datetime
  • collections
  • re

09 · Python moderno

  • type hints
  • dataclass
  • context manager
  • decoratori

La sfida finale, in tre tappe

Immagina un piccolo strumento che analizza log testuali, aggrega le occorrenze e gestisce gli errori in modo robusto. Costruisci i tre pezzi: il parser, l'aggregatore e il decoratore di retry. Ogni tappa combina concetti dei moduli che hai studiato — nessuna lezione nuova.

1 · Estrai parole da una stringa

Scrivi parole(testo): ritorna una lista di tutte le parole in minuscolo (sequenze di lettere/cifre). Modulo 8 (re) + Modulo 4 (metodi stringa).

Esercizio#python.boss.e1
Tentativi: 0Caricamento…

Definisci parole(testo: str) -> list[str] che ritorna tutte le "parole" del testo (re.findall di \w+) tutte in lowercase. Esempio: parole("Ciao Mondo, ciao!") -> ["ciao", "mondo", "ciao"].

Caricamento editor…
Mostra suggerimento

re.findall(r"\w+", testo) e list comprehension con .lower().

Soluzione disponibile dopo 3 tentativi

2 · Top-N parole con Counter

Conta quante volte ogni parola appare e ritorna le prime N più frequenti. Modulo 8 (collections) + Modulo 6 (iteratori).

Esercizio#python.boss.e2
Tentativi: 0Caricamento…

Definisci top_parole(testo: str, n: int) -> list[tuple[str, int]] che usa parole() (riusa la funzione della tappa 1) e Counter per ritornare le n parole più frequenti, dalla più comune in giù.

Caricamento editor…
Mostra suggerimento

Counter(parole(testo)).most_common(n) fa tutto il lavoro.

Soluzione disponibile dopo 3 tentativi

3 · Decoratore @retry

Scrivi un decoratore che riprova fino a N volte se la funzione solleva un'eccezione. Modulo 9 (decoratori) + Modulo 2 (try/except).

Esercizio#python.boss.e3
Tentativi: 0Caricamento…

Definisci retry(tentativi: int) come decoratore parametrizzato. La funzione decorata viene chiamata fino a "tentativi" volte: se solleva un'eccezione, riprova; se tutti i tentativi falliscono, lascia propagare l'ultima eccezione. Usa functools.wraps.

Caricamento editor…
Mostra suggerimento

retry(n) ritorna un decoratore. Il decoratore ritorna un wrapper. Il wrapper fa un for n volte: try chiama, except ricorda e prosegue. Se finisce, raise.

Soluzione disponibile dopo 3 tentativi

Cheatsheet stampabile

Una pagina con tutta la sintassi essenziale di Python moderno, pronta da tenere sotto mano mentre programmi.

Apri il cheatsheet

E adesso?

Il modo migliore per consolidare è pratica libera. Apri un editor (o il Playground Python) e prova a riscrivere a memoria gli esercizi più complessi, oppure cimentati con piccoli script: un analizzatore di log, uno scraper di dati JSON, una piccola CLI con argparse.