Articolo originale: https://www.freecodecamp.org/news/python-projects-for-beginners/

Il miglior modo per imparare un nuovo linguaggio di programmazione è usarlo per realizzare dei progetti.

Ho creato una lista di 25 video tutorial (in lingua inglese) per realizzare progetti in Python per principianti.

Il mio consiglio è di guardare il video, costruire il progetto, dividerlo in sezioni e ricostruirlo a modo tuo. Sperimenta aggiungendo nuove funzionalità o usando metodologie differenti.

In questo modo capirai se avrai veramente appreso i concetti o meno.

Puoi cliccare su un progetto qualsiasi di quelli elencati qui sotto per essere reindirizzato nella relativa sezione dell'articolo.

Se non hai familiarità con le basi di Python, suggerisco di guardare questa guida di freeCodeCamp su Python per principianti. In alternativa, puoi consultare il Manuale Python per principianti (in italiano).

Progetti in Python che puoi realizzare

Parole matte (Mad Libs) in Python

In questo video di Kylie Ying, imparerai come ottenere degli input da un utente, lavorare con le f-strings e vedere i risultati sulla console.

Questo progetto è un ottimo punto di partenza per prendere mano con la concatenazione di stringhe in Python.

Indovina il numero (computer) in Python

In questo video di Kylie Ying, imparerai a lavorare con il modulo random di Python, costruire funzioni, usare i loop while e i condizionali, e ottenere degli input da un utente.

Indovina il numero (utente) in Python

In questo video di Kylie Ying, costruirai un indovinello nel quale il computer dovrà indovinare il numero corretto. Lavorerai con il modulo random di Python, costruirai funzioni, lavorerai con i loop while e i condizionali, e otterrai degli input da un utente.

Sasso, carta, forbice in Python

In questo video di Kylie Ying, lavorerai con random.choice(), istruzioni if e otterrai degli input da un utente. Questo è un ottimo progetto per imparare a utilizzare principi fondamentali come condizionali e funzioni.

L'impiccato in Python

In questo video di Kylie Ying, lavorerai con i dizionari, le liste e le istruzioni if annidate. Lavorerai anche con le stringhe e il modulo random di Python.

Conto alla rovescia in Python

In questo video di Code With Tomi, costruirai un conto alla rovescia grazie al modulo time di Python. Questo è un ottimo progetto per familiarizzare con i loop while in Python.

Generatore di password in Python

In questo video di Code With Tomi, costruirai un generatore di password casuale. Otterrai dati dall'utente sul numero di password da generare e la loro lunghezza ed il tuo programma produrrà una collezione di password con caratteri casuali.

Questo progetto ti impratichirà nell'utilizzo dei loop for e del modulo random di Python.

Codifica/decodifica di codici QR in Python

In questo video di Code With Tomi, creerai i tuoi codici QR e codificherai/decodificherai informazioni da essi. Questo progetto utilizza la libreria qrcode.

Questo è un ottimo progetto per prendere familiarità con l'installazione e l'utilizzo di diversi moduli Python.

Tris in Python

In questo video di Kylie Ying, svilupperai un tris a più giocatori su riga di comando. Imparerai a lavorare con i moduli Python time e math e ti eserciterai con le istruzioni if annidate.

Tris con Intelligenza Artificiale in Python

In questo video di Kylie Ying, svilupperai un programma per giocare partite di tris contro un computer che non perde mai. Questo progetto utilizza l'algoritmo minimax, un algoritmo ricorsivo utilizzato per i processi decisionali.

Ricerca binaria in Python

In questo video di Kylie Ying, implementerai l'algoritmo divide et impera chiamato ricerca binaria. È un comune algoritmo di ricerca spesso utilizzato nei colloqui di lavoro, quindi importante da saper implementare.

Campo minato in Python

In questo video di Kylie Ying, svilupperai il classico gioco campo minato su riga di comando. Questo progetto si concentra sulla ricorsività e le classi.

Risolutore di sudoku in Python

In questo video di Kylie Ying, svilupperai un risolutore di Sudoku che utilizza la tecnica backtracking. Il backtracking è una tecnica ricorsiva che cerca ogni possibile combinazione per risolvere un problema.

Manipolazione di foto in Python

In questo video di Kylie Ying, creerai un filtro per immagini e cambierai contrasto, luminosità e sfocatura di immagini. Prima di iniziare il progetto, dovrai scaricare i file di partenza.

Compositore testuale di catene di Markov in Python

In questo video di Kylie Ying, imparerai cos'è il modello grafico della catena di Markov e come può essere applicato alle relazioni tra testi di diverse canzoni. Questo progetto è un'ottima introduzione all'intelligenza artificiale in Python.

Pong in Python

In questo video di Christian Thompson, ricreerai il classico videogioco pong in Python. Lavorerai con i moduli Python  os e turtle, perfetti per creare grafiche di videogiochi.

Snake in Python

In questo video di Tech with Tim, ricreerai il classico videogioco snake in Python. Questo progetto si basa sulla programmazione orientata agli oggetti e Pygame, un popolare modulo Python per lo sviluppo di videogiochi.

Forza quattro in Python

In questo video di Keith Galli, costruirai il classico gioco forza quattro in Python. Questo progetto utilizza i moduli Python numpy, math, pygame e sys.

È un ottimo progetto se hai già sviluppato altri progetti più piccoli in Python. Ma se non hai ancora creato alcun progetto in Python, consiglierei vivamente di iniziare con uno dei progetti citati precedentemente nella lista ed esercitarti un po' prima di tornare su questo.

Tetris in Python

In questo video di Tech with Tim, ricreerai il classico videogioco Tetris. In questo progetto utilizzerai Pygame ed è ottimo per i programmatori principianti che vogliono portare le proprie conoscenze al livello successivo.

Gioco multigiocatore online in Python

In questo video di Tech with Tim, svilupperai un videogioco multiplayer che potrai giocare con chiunque abbia una connessione internet. Questo progetto è un'ottima introduzione a socket, reti e Pygame.

Web Scraper in Python

In questo video di Code With Tomi, imparerai come richiedere come input a un utente un link di un utente GitHub e produrre come output il link dell'immagine del profilo grazie al web scraping. Il web scraping è una tecnica che ti permette di raccogliere dati da una pagina web.

Rinominatore di file in massa in Python

In questo video di Code With Tomi, svilupperai un programma in grado di entrare in qualsiasi cartella del tuo computer e rinominare tutti i file in base a delle condizioni impostate dal tuo codice Python.

Programma meteorologico in Python

In questo video di Code With Tomi, svilupperai un programma in grado di raccogliere dati su una specifica località e produrre dettagli sulle previsioni per la località in questione. Questo è un ottimo progetto per imparare a ottenere dati da delle API.

Sviluppa un bot di Discord con Python

In questo video di Beau Carnes, svilupperai il tuo bot di Discord, una piattaforma dove le persone possono parlare e scriversi online. In questo progetto lavorerai con l'API di Discord e l'ambiente di sviluppo Replit.

Dopo la pubblicazione di questo video, Replit ha cambiato modo di memorizzare le variabili d'ambiente nei tuoi programmi. Leggi questa guida su come immagazzinare le variabili d'ambiente in modo corretto.

Nota: a causa di alcuni aggiornamenti di Discord, occorre fare degli aggiustamenti per far funzionare correttamente il bot.

Space Invaders in Python

In questo video di buildwithpython, svilupperai il classico gioco space invaders usando Pygame. Apprenderai le basi dello sviluppo di videogiochi come loop, rilevamento di collisioni, eventi legati alla pressione dei tasti e altro.