Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Programmazione in Python
Prof. Pasquale De Michele (Gruppo 1) Prof. Raffaele Farina (Gruppo 2) Programmazione in Python
2
Precisazione Le slide fanno riferimento alla versione di Python 2.7.
Da Python 3 in poi, sono state introdotte diverse novità, che vengono comunque messe in evidenza in queste slide rispetto alla versione 2.7. Programmazione in Python
3
Primo programma in Python
Hello world!: print “Hello world!” Aggiungere commenti al codice: #Questo e’ un commento! print “Hello world!” L’istruzione print può essere fatta anche in un altro modo (usando ‘): print ‘L\’altezza e’ mezza bellezza’ ATTENZIONE: per evitare errori, sia nei commenti, sia nelle stampe, non usare mai caratteri accentati come: è, é, à, ù, ò, ì. Programmazione in Python
4
print in Python 3 Dalla versione 3 di Python l’istruzione print richiede l’uso delle parentesi tonde. Di conseguenza, il programma visto nella precedente slide, per essere eseguito correttamente in Python 3 richiede di essere scritto come segue: print (“Hello world!”) Programmazione in Python
5
Un programma un po’ più complesso
Calcolo dell’area del triangolo rettangolo: Tipi di istruzioni utilizzate: print – per la stampa a video (output); input – per la lettura da video (input); a = b*h/2 – per assegnare un valore alla variabile a. Programmazione in Python
6
Un po’ di ripasso: la memoria principale
I programmi, quando sono in esecuzione, risiedono nella memoria principale (RAM). Insieme ai programmi, nella memoria principale risiedono anche tutti i dati che essi manipolano. La memoria RAM è organizzata in indirizzi del tipo: …000 …001 … …111 Programmazione in Python
7
Un po’ di ripasso: la memoria principale
Di conseguenza, possiamo immaginare che se un programma chiede ad un utente di inserire due numeri per poterne calcolare un terzo, ognuno di questi sarà associato ad un indirizzo. Riprendiamo il programma del triangolo rettangolo. Il programma chiede all’utente di inserire la base e l’altezza, al fine di poter calcolare l’area. Supponiamo che l’utente inserisca 4 per la base e 5 per l’altezza. Di conseguenza l’area sarà 10. Dove vengono memorizzati questi dati? Potrebbe capitare che: All’indirizzo …000 sia salvato 4; All’indirizzo …001 sia salvato 5; All’indirizzo …010 sia salvato 10; Programmazione in Python
8
Variabili e costanti Problema: per il programmatore può essere complicato dover ricordare l’indirizzo specifico in cui è stato salvato ciascun dato. D’altra parte, nella vita di tutti i giorni possiamo trovare esempi che semplificano questa problematica: La rubrica telefonica. La rubrica telefonica mantiene le associazioni tra numeri di telefono e i nomi delle persone a cui tali numeri di telefono corrispondono. Allo stesso modo, possiamo pensare di associare un nome a ciascun dato utilizzato nel programma. A seconda del fatto che questi dati possano o meno essere modificati, distingueremo variabili e costanti. Programmazione in Python
9
Variabili e costanti Se un dato non deve mai essere modificato (il valore ad esso associato non cambia), allora definiremo una costante. Esempio: PI_GRECO = 3.14 N.B.: le costanti possono essere definite solo dal programmatore all’interno del codice del programma; l’utente non potrà inserire nessuna costante. Se, invece, un dato può essere modificato (deve essere calcolato, inserito dall’utente o cambiato in corso d’opera il suo valore, allora definiremo una variabile. Esempio: b per la base; h per l’altezza; a per l’area. Programmazione in Python
10
Tipi di variabili Le variabili possono essere di vario tipo.
Possiamo distinguere tra variabili semplici e variabili complesse. Le variabili semplici sono messe a disposizione dal linguaggio di programmazione. Nel caso del Python sono: Variabili intere (che possono contenere numeri interi): a = -3 Variabili reali (che possono contenere numeri reali): b = -7.4 Variabili stringhe (sequenze di caratteri alfa-numerici) c = “N ” Programmazione in Python
11
Tipi di variabili Un esempio di variabili complesse sono gli array.
Un array raggruppa, mediante un unico nome, un insieme omogeneo (dello stesso tipo di variabili). Esempio: a = [1, 2, 3, 4] Per accedere ad un singolo dato contenuto in un array si fa riferimento alla sua posizione (partendo dalla prima posizione 0). Di conseguenza: In a[0] avremo 1. In a[1] avremo 2. In a[2] avremo 3. In a[3] avremo 4. Programmazione in Python
12
Lettura con input() in Python 2.7 e 3.4
Per leggere un dato inserito dall’utente in Python su utilizza l’istruzione input(). Esempio: a = input(“Inserire a”) In Python 2.7, tale istruzione assegna alla variabile il tipo inserito: Se si inserisce “3”, allora a è di tipo intero. Se si inserisce “3.0”, allora a è di tipo reale. Se si inserisce “Ciao”, allora a è di tipo stringa. In Python 3.4, tale istruzione assegna alla variabile sempre il tipo stringa. Di conseguenza è necessaria una conversione, affinché si possa gestire il tipo di variabile desiderata: Se si desidera un intero, aggiungere a = int(a) Se si desidera un reale, aggiungere a = float(a) La cosa può essere utile anche in Python 2.7, quando si desidera che le variabili siano sempre dello stesso tipo, ad esempio reale. Di conseguenza, anche se si inserisse “3”, con la conversione, la variabile a diventerebbe di tipo reale. Programmazione in Python
13
Costrutto condizionale (di selezione) IF - ELSE
Talvolta può essere utile valutare il contenuto di una o più variabili al fine di poter stabilire quale sequenza di istruzioni svolgere a seconda dei casi. Programmazione in Python
14
Costrutto condizionale (di selezione) IF - ELSE
Vediamo un esempio concreto: Vogliamo valutare se il valore contenuto nella variabile a sia maggiore di 0 oppure no. ATTENZIONE – Regole di indentazione: Le istruzioni interne all’IF devono essere spostate di almeno uno spazio (o carattere di tabulazione) verso destra rispetto all’IF. Lo stesso vale per l’ELSE. Programmazione in Python
15
Costrutto condizionale (di selezione) IF - ELSE
Nell’esempio precedente abbiamo valutato due condizioni: a > 0 e la sua negazione (else) a <= 0. Come potremmo gestire più di due condizioni da controllare? Consideriamo un altro esempio: Vogliamo valutare se il valore contenuto nella variabile a sia maggiore, minore o uguale rispetto a 0 (3 condizioni). Programmazione in Python
16
Costrutto condizionale (di selezione) IF - ELSE
Nell’esempio precedente abbiamo valutato tre condizioni: a > 0 (if) a < 0 (elif) a = 0 (else) come negazione delle due precedenti. Programmazione in Python
17
Costrutti iterativi FOR e WHILE
Un’altra situazione tipica per un programmatore è avere a che fare con istruzioni che si ripetono più volte. In questo caso possiamo utilizzare due costrutti che ci permettono di ripetere una sequenza di istruzioni per un certo numero fissato di volte o finché risulta vera una certa condizione. Programmazione in Python
18
Il ciclo FOR Un esempio del costrutto FOR in Python:
In questo caso abbiamo un gruppo di istruzioni che deve essere ripetuto N = 10 volte. Di conseguenza abbiamo fissato intervallo [1, 10] in cui variare. Tale intervallo viene espresso attraverso l’istruzione range(1, N+1) che permette all’indice i di variare tra 1 ed N (escluso l’estremo superiore N+1). Programmazione in Python
19
Il ciclo FOR Esempio: leggere 10 numeri e per ogni numero inserito stamparne il doppio. ATTENZIONE – Regole di indentazione: Le istruzioni interne al FOR devono essere spostate di almeno uno spazio (o carattere di tabulazione) verso destra rispetto al FOR. Tutto ciò che viene scritto “allineato” col FOR (o verso sinistra) viene considerato non appartenente al ciclo FOR. Programmazione in Python
20
Il ciclo WHILE Un esempio del costrutto WHILE in Python:
In questo caso abbiamo un gruppo di istruzioni che deve essere ripetuto finché risulta soddisfatta una certa condizione. Di conseguenza, non sappiamo precisamente quante volte dovremo ripetere la sequenza di istruzioni contenuta nel ciclo WHILE. Programmazione in Python
21
Il ciclo WHILE Esempio: leggere i numeri inseriti dall’utente finché non viene inserito il numero 0. ATTENZIONE – Regole di indentazione: Valgono le stesse regole di indentazione del ciclo FOR. Programmazione in Python
22
Il ciclo WHILE D’altra parte, ciò che può essere fatto con un ciclo FOR può essere tranquillamente fatto con un ciclo WHILE. Di conseguenza consideriamo il precedente programma scritto per il ciclo FOR e vediamo come implementarlo con il ciclo WHILE. Programmazione in Python
23
Il ciclo WHILE Consideriamo un esempio leggermente diverso: leggere 10 numeri e per ogni numero inserito stamparne il doppio; se l’utente inserisce il numero 0 il programma termina prima. Programmazione in Python
24
Valutazione delle condizioni
Sia il costrutto IF, sia i costrutti FOR e WHILE valutano delle condizioni che possono essere VERE o FALSE. Di conseguenza ci si rifà alla logica booleana per stabilire se una o più condizioni sono vere o false. In particolare, nel caso dell’IF e del WHILE può capitare che debbano essere valutate più condizioni contemporaneamente che possono quindi essere combinate in AND ed OR logici. Come si è già visto per l’esempio precedente, Python utilizza l’espressione c1 and c2 per valutare due condizioni in AND. Di conseguenza è facile immaginare che per l’OR logico l’espressione sarà c1 or c2. Per combinazioni più complesse è possibile utilizzare le parentesi tonde al fine di stabilire l’ordine di valutazione. Esempio: (c1 or c2) and (c3 or c4) Programmazione in Python
25
Gestire più variabili dello stesso tipo: array
Vogliamo scrivere un programma che legga 5 variabili di tipo intero e ne restituisca la sommatoria. Inoltre se la sommatoria è pari le variabili pari inizialmente inserite devono essere poste a 0. In questo caso è necessario memorizzare tutti i dati inseriti. Programmazione in Python
26
Gestire più variabili dello stesso tipo: array
Prima soluzione: usare 5 variabili diverse. Programmazione in Python
27
Gestire più variabili dello stesso tipo: array
Seconda soluzione (migliore): usare 1 array di 5 elementi. Programmazione in Python
28
Array: inizializzazione
Esistono vari modi per inizializzare un array in Python, tutti validi. Inizializziamo a 0 tre array n1, n2 ed n3 da 15 elementi: n1 = [0] * 15 #Come nell’esempio appena visto n2 = [0 for i in range(15)] import numpy as np n3 = np.zeros(15) Programmazione in Python
29
Librerie e funzioni L’ultima modalità di inizializzazione di un array ricorre ad una funzione (zeros()) definita nella libreria numpy di Python. La libreria numpy richiede di essere scaricata. Le funzioni possono essere viste come parti di programmi già scritte che prendono in input dei parametri per restituire un risultato. Le librerie contengono funzioni già scritte che semplificano la vita del programmatore. Esempi di librerie Python oltre a numpy: math è la libreria delle funzioni matematiche: a = math.pow(b, e): la funzione potenza (pow()) assegna ad a il risultato dell’elevamento alla potenza e della base b. y = math.sqrt(x): la funzione radice quadrata (sqrt()) assegna a y il risultato della radice quadrata di x. matplotlib.pyplot è una libreria per la creazione dei grafici. Programmazione in Python
30
Scaricare librerie per Python 2.7 e 3.4
Python 2.7 per Mac: numpy: Link matplotlib: Link Python 2.7 per Windows 64 bit Python 2.7 per Windows 32 bit Python 3.4 per Mac: numpy: Link matplotlib: Link Python 3.4 per Windows 64 bit Python 3.4 per Windows 32 bit Programmazione in Python
31
Installare la libreria numpy
Per Mac e Windows, seguire l’installazione grafica. Per Linux con distribuzioni Debian/Ubuntu: Aprire il terminale e digitare sudo apt-get install python-numpy (premi INVIO) Inserire la password (non compaiono pallini ma state scrivendo ugualmente), premere INVIO. Attendere la fine dell’installazione. con distribuzioni Fedora/RedHat: Aprire il terminale e digitare sudo yum install python-numpy (premi INVIO) Programmazione in Python
32
Installare la libreria matplotlib
Per utenti Windows, seguire l’installazione grafica. Per utenti Mac, dopo aver scaricato il file matplotlib relativo alla vostra versione di Python: Aprire il terminale e digitare sudo pip3 install wheel (premi INVIO). Vi verrà richiesta la vostra password, quindi digitatela. Finita questa installazione, spostatevi nella cartella Downloads digitando nel terminale: cd Downloads (premi INVIO) Per Python 2.7 digitare (vi verrà richiesta la vostra password) sudo pip3 install matplotlib cp27-none-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (premi INVIO). Per Python 3.4 digitare (vi verrà richiesta la vostra password) sudo pip3 install matplotlib cp33-cp33m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (premi INVIO). Programmazione in Python
33
Installare la libreria matplotlib
Per utenti Linux con distribuzioni Debian/Ubuntu: Aprire il terminale e digitare sudo apt-get install python-matplotlib (premi INVIO) Inserire la password (non compaiono pallini ma state scrivendo ugualmente), premere INVIO. Attendere la fine dell’installazione. con distribuzioni Fedora/RedHat: Aprire il terminale e digitare sudo yum install python-matplotlib (premi INVIO) Programmazione in Python
34
Importare librerie in Python
Per usare le funzioni definite in determinate librerie di Python è necessario importare tali librerie nel programma. La sintassi è la seguente: import nome_libreria Talvolta, per abbreviare il nome della libreria si definisce un alias tramite la parola chiava as dopo il nome della libreria, seguita dall’alias: import nome_libreria as alias Vediamo alcuni esempi: import math as m import numpy as np import matplotlib.pyplot as plt In questo modo, se volessimo utilizzare la funzione pow() della liberia math, potremmo scrivere direttamente m.pow() anziché math.pow(). Programmazione in Python
35
Grafici in Python Supponiamo di voler rappresentare graficamente (in un sistema di assi cartesiani) i valori contenuti in un array a di N elementi. Immaginiamo che i valori contenuti nell’array siano quelli relativi all’asse y ed i valori che indicano le posizioni in cui si trovano tali valori (da 0 ad N-1) siano relativi all’asse x. Programmazione in Python
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.