Programmazione Python
Programmazione Python
OBJECTIVES:
Introduzione ai linguaggi di scripting
Esposizione a vari approcci di risoluzione dei problemi della scienza informatica
UNITÀ–I:
Introduzione: Storia di Python, Necessità della programmazione Python, Applicazioni Fondamenti di
Programmazione Python usando il REPL (Shell), Esecuzione di script Python, Variabili
Assegnazione, Parole chiave, Input-Uscita, Rientro.
UNITÀ–II:
Tipi, Operatori ed Espressioni: Tipi - Interi, Stringhe, Booleani; Operatori-
Operatori aritmetici, operatori di confronto (relazionali), operatori di assegnazione
Logical Operators, Bitwise Operators, Membership Operators, Identity Operators,
Espressioni e ordine di valutazione Flusso di controllo - if, if-elif-else, for, while, break,
continua, passa.
UNITÀ-III:
Strutture DatiListe - Operazioni, Sezioni, Metodi; Tuple, Insiemi, Dizionari,
Sequenze. Comprensioni.
UNIT–IV:
Funzioni - Definire Funzioni, Chiamare Funzioni, Passare Argomenti, Parole Chiave
Argomenti, Argomenti predefiniti, Argomenti di lunghezza variabile, Funzioni anonime
Funzioni Fruttuose (Funzione che Restituisce Valori), Campo di Applicazione delle Variabili in una Funzione -
Variabili globali e locali.
Moduli: Creazione di moduli, istruzione di importazione, da. Istruzione di importazione, spazi dei nomi,
Pacchetti Python, Introduzione a PIP, Installazione di pacchetti tramite PIP, Utilizzo di Python
Pacchetti
UNITÀ–V:
Programmazione Orientata agli Oggetti OOP in Python: Classi, variabile 'self', Metodi
Metodo Costruttore, Eredità, Sovrascrittura di Metodi, Nascondere Dati
Errori ed Eccezioni: Differenza tra errore ed eccezione, Gestione delle eccezioni
try except block, Raising Exceptions, User Defined Exceptions
UNITÀ VI:
Breve Tour della Libreria Standard - Interfaccia del Sistema Operativo - Modello di Stringa
Corrispondenza, Matematica, Accesso a Internet, Date e Orari, Compressione dei Dati
Multithreading, Programmazione GUI, Grafica Turtle
Testing: Perché è necessario il testing?, Concetti di base del testing, Testing unitario in Python,
Scrittura di casi di test, Esecuzione dei test.
OUTCOMES:
Creare software facilmente direttamente dalla scatola.
Esperienza con un linguaggio interpretato.
Costruire software per esigenze reali.
Introduzione preliminare al testing del software
LIBRI DI TESTO
Libri di riferimento:
Esercizio 1 - Fondamentali
a) Esecuzione di istruzioni nell'interprete interattivo e in uno script Python
b) Scrivi un programma per generare intenzionalmente un errore di indentazione e correggerlo
Esercizio 2 - Operazioni
a) Scrivi un programma per calcolare la distanza tra due punti prendendo input dall'utente
(Teorema di Pitagora)
b) Scrivi un programma [Link] che prenda 2 numeri come argomenti da riga di comando e stampi
la sua somma.
Esercizio - 5 - DS
a) Scrivi un programma per contare il numero di caratteri nella stringa e memorizzarli in un
struttura dati dizionario
b) Scrivi un programma per utilizzare i metodi split e join nella stringa e tracciare un compleanno con un
struttura dati dizionario.
Esercizio - 6 DS - Continuato
a) Scrivi un programma chiamato combine_lists che combina queste liste in un dizionario.
b) Scrivi un programma per contare la frequenza dei caratteri in un file dato. Puoi usare
frequenza dei caratteri per determinare se il file dato è un file di programma Python o un file di programma C
o un file di testo?
Esercizio - 7 File
a) Scrivi un programma per stampare ogni riga di un file in ordine inverso.
b) Scrivi un programma per calcolare il numero di caratteri, parole e righe in un file.
Esercizio - 8 Funzioni
a) Scrivi una funzione ball_collide che prende due palle come parametri e calcola se esse
si stanno scontrando. La tua funzione dovrebbe restituire un valore Booleano che rappresenta se si trova o meno
le palle stanno collidendo.
Suggerimento: Rappresenta una palla su un piano come una tupla di (x, y, r), r che rappresenta il raggio
Se (distanza tra i centri di due palle) <= (somma dei loro raggi) allora (stanno collidendo)
b) Trova la media, la mediana e la moda per il set di numeri dato in un elenco.
Esercizio - 12 - Moduli
a) Installa i pacchetti requests, flask ed esplora questi. utilizzando (pip)
b) Scrivi uno script che importa richieste e recupera contenuto dalla pagina. Es. (Wiki)
c) Scrivi uno script semplice che fornisce una semplice risposta HTTP e una semplice pagina HTML
Esercizio - 13 OOP
a) Class variables and instance variable and illustration of the self variable
Robot
ii) Bancomat
Exercise - 15 - Testing
a) Scrivi un caso di test per controllare la funzione numeri pari che restituisce True al passaggio di un
elenco di tutti i numeri pari.
b) Scrivi un test-case per controllare la funzione reverse_string che restituisce la stringa invertita
stringa.
Esercizio - 16 - Avanzato
a) Costruisci una qualsiasi struttura dati classica
b) Scrivi un programma per risolvere il problema dello zaino