python - primi passi
TRANSCRIPT
![Page 2: Python - Primi passi](https://reader034.vdocuments.mx/reader034/viewer/2022051007/58ede54f1a28ab63228b46b3/html5/thumbnails/2.jpg)
Interprete
Python è un linguaggio interpretato.
L’interprete Python si avvia digitando python al prompt
dei comandi (pythonx,x in linux, p.e. python3.5)
Per avviare un programma python:
Scrivere il programma con un editor
Salvarlo con un nome file con estensione .py
Digitare python nomeprogramma.py al prompt dei comandi
oppure
(python3.5 nomeprogramma.py al prompt dei comandi linux)
![Page 3: Python - Primi passi](https://reader034.vdocuments.mx/reader034/viewer/2022051007/58ede54f1a28ab63228b46b3/html5/thumbnails/3.jpg)
Definizioni
Costante Un dato indicato direttamente dal suo valore.
Es: 100, 0, “acqua”, ‘123’
Le costanti alfanumeriche sono riportate tra virgolette o apici.
Numeri tra virgolette non possono essere usati in calcoli aritmetici
Var / Variabile il nome di una locazione di memoria che contiene o conterrà un dato.
Il nome non può essere un numero
Es: a, b, importo, iva, totale, nome, cognome, 1000.
A e a sono 2 variabili diverse. CASE SENSITIVE
Espressione espressione aritmetica o tra stringhe.
Es: 5+7, (x*y)/2, “cata”+”nia”
Stinga Valore alfanumerico
Intero Valore numerico intero
Float Valore numerico con parte decimale
![Page 4: Python - Primi passi](https://reader034.vdocuments.mx/reader034/viewer/2022051007/58ede54f1a28ab63228b46b3/html5/thumbnails/4.jpg)
Visualizzare a video
print(costante/variabile/espressione, …, …)
Print non significa print. CASE SENSITIVE
Visualizza quanto indicato tra parentesi a partire dalla posizione del cursore
portando poi il cursore a capo nella linea successiva
Es: print(“la somma e’ “, s)
print(base*altezza)
print(costante/variabile/espressione, end=‘’)
# non porta a capo il cursore dopo la visualizzazione
![Page 5: Python - Primi passi](https://reader034.vdocuments.mx/reader034/viewer/2022051007/58ede54f1a28ab63228b46b3/html5/thumbnails/5.jpg)
Immettere da tastiera
input(messaggio)
Permette l’immissione di una stringa (valori alfanumerici) da tastiera ,
visualizzando il messaggio,
Es: n=input(“Immetti un nome “) # il nome immesso viene
memorizzato nella variabile n
a=eval(input(“immetti un numero “)) # la stringa immessa viene
trasformata in numero
# memorizzato nella variabile a
![Page 6: Python - Primi passi](https://reader034.vdocuments.mx/reader034/viewer/2022051007/58ede54f1a28ab63228b46b3/html5/thumbnails/6.jpg)
Le Condizioni
Sono confronti/predicati/affermazioni che saranno verificati. Il risultato di
tale verifica, che avverrà durante l’esecuzione del programma sara:
vero o falso.
Es: a==10 (a uguale 10)
a!=0 (a diverso da zero)
b>c (b maggiore di c)
m<n (m minore di n)
e<=f (e minore o uguale a f)
x>=y (x maggiore o uguale a y)
![Page 7: Python - Primi passi](https://reader034.vdocuments.mx/reader034/viewer/2022051007/58ede54f1a28ab63228b46b3/html5/thumbnails/7.jpg)
Le assegnazioni
Assegnano (memorizzano) il risultato di una espressione
alla variabile a sinistra del segno =
Eliminano il valore preesistente
variabile = espressione
Es:
a=10
b=importo*2/100
c=100/d
a=a*2
![Page 8: Python - Primi passi](https://reader034.vdocuments.mx/reader034/viewer/2022051007/58ede54f1a28ab63228b46b3/html5/thumbnails/8.jpg)
Gli operandi
+ somma # s=a+b
- sottrazione # d=a-b
* moltiplicazione # p=a*2
/ divisione # q=c/d
% resto di una divisione
102%10>> 2 # r=dd/dv
** elevamento a potenza
2**3 >> 8 # p=b**e
![Page 9: Python - Primi passi](https://reader034.vdocuments.mx/reader034/viewer/2022051007/58ede54f1a28ab63228b46b3/html5/thumbnails/9.jpg)
if - Struttura condizionale e alternativa
if condizione :
…istruzione 1
…istruzione 2
…
istruzione 5
if condizione :
…istruzione 1
…istruzione 2
…
else:
…istruzione 3
…istruzione 4
…
istruzione 5
If significa SE.
Esegue istruzione 1 e 2 solo SE la condizione verificata risulta vera.
Dopo, esegue sempre istruzione 5
Esegue istruzione 3 e 4 solo se la condizione verificata risulta falsa
Le istruzioni 1, 2, 3, 4 devono essere rientrate ed allineate
else e istruzione 5, devono essere allineati a if
![Page 10: Python - Primi passi](https://reader034.vdocuments.mx/reader034/viewer/2022051007/58ede54f1a28ab63228b46b3/html5/thumbnails/10.jpg)
If - Esempi
if a>b:
c=a-b
else:
c=b-a
d=0
if d!=0:
c=a/d
a=”bye”
Se a è maggiore di b
calcola la differenza tra a e b
altrimenti
calcola la differenza tra a e b
poi comunque azzera d
se d è diverso da 0
calcola il quoziente tra a e d
Poi comunque memorizza “bye” in a
![Page 11: Python - Primi passi](https://reader034.vdocuments.mx/reader034/viewer/2022051007/58ede54f1a28ab63228b46b3/html5/thumbnails/11.jpg)
WHILE - Ciclo iterativo
Ripete le istruzioni al suo interno fintantoche la condizione risulterà vera. Appena risulterà falsa, si uscirà dal ciclo. Potrebbe non essere eseguito nemmeno una volta
While condizione: # inizio ciclo…istruzione 1 # fintanto che la condizione risulta vera,
eseguirà ripetutamente le istruzioni 1, 2, ……istruzione 2 # le istruzioni devono essere … rientrate ed allineate
# fine while
… istruzione 5 # istruzione 5, deve essere allineata a while
![Page 12: Python - Primi passi](https://reader034.vdocuments.mx/reader034/viewer/2022051007/58ede54f1a28ab63228b46b3/html5/thumbnails/12.jpg)
While - Esempi
while a != “”: # farà immettere fintanto che sarà immesso qualche carattere
a=input(“Immetti un nome “)
# fine ciclo
while True: # ripeti sempre
a=input(“Immetti un nome “)
if a==‘’ : # if obbligatoria per evitare cicli infiniti
break # esce dal ciclo.
# fine ciclo
![Page 13: Python - Primi passi](https://reader034.vdocuments.mx/reader034/viewer/2022051007/58ede54f1a28ab63228b46b3/html5/thumbnails/13.jpg)
For - Ciclo iterativo
Ripete le istruzioni al suo interno inizializzando la variabile ad inizio
Ad ogni ciclo la variabile viene incrementata di un certo passo (1 default)
Si esce dal ciclo quando la variabile assume un valore >= a fine.
La variabile all’interno del ciclo non varrà mai fine
Inizio, fine e passo possono essere costanti e/o variabili
for variabile in range(inizio, fine, passo):
…istruzione 1 # finché la variabile sarà nell’intervallo tra inizio e fine-1, ad ogni ciclo incrementata di un certo passo,
…istruzione 2 # eseguirà ripetutamente le istruzioni 1,2, …
… # le istruzioni devono essere rientrate ed allineate
# fine ciclo
… istruzione 5 # istruzione 5, deve essere allineata a while
![Page 14: Python - Primi passi](https://reader034.vdocuments.mx/reader034/viewer/2022051007/58ede54f1a28ab63228b46b3/html5/thumbnails/14.jpg)
For - Esempio
for c in range(0,3): # girerà 3 volte
print(c) # visualizzando 0 1 2
# fine ciclo
# perché c nel primo passaggio varrà 0, poi incrementato di 1 varrà 1, poi
# incrementato di 1 varrà 2, infine incrementato di 1 varrà 3, valore che che farà uscire dal ciclo
![Page 15: Python - Primi passi](https://reader034.vdocuments.mx/reader034/viewer/2022051007/58ede54f1a28ab63228b46b3/html5/thumbnails/15.jpg)
For – altro esempio
for c in range(10,0,-4): # girerà 3 volte
print(c) # visualizzando 10, 6, 2
# fine ciclo
# perché c nel primo passaggio varrà 10 poi
decrementato di 4 varrà 6
poi decrementato di 4 varrà 2,
infine incrementato di 4 varrà -2,
valore che farà uscire dal ciclo
![Page 16: Python - Primi passi](https://reader034.vdocuments.mx/reader034/viewer/2022051007/58ede54f1a28ab63228b46b3/html5/thumbnails/16.jpg)
FUNZIONI d’uso comuneIn PYTHON
![Page 17: Python - Primi passi](https://reader034.vdocuments.mx/reader034/viewer/2022051007/58ede54f1a28ab63228b46b3/html5/thumbnails/17.jpg)
int()
Converte un numero o una stringa in numero intero
int(3.1415) # Restituisce 3
int(5) # ‘’ 5
Pi=3.1415
int(Pi) # ‘’ 3
int(60/Pi) # ‘’ 19
int(‘11.78’) # ‘’ 11
![Page 18: Python - Primi passi](https://reader034.vdocuments.mx/reader034/viewer/2022051007/58ede54f1a28ab63228b46b3/html5/thumbnails/18.jpg)
float()
Converte un numero o una stringa in numero floating
float(15) # Restituisce 4,0
float(‘1234’) # Restituisce 1234,0
![Page 19: Python - Primi passi](https://reader034.vdocuments.mx/reader034/viewer/2022051007/58ede54f1a28ab63228b46b3/html5/thumbnails/19.jpg)
eval()
Determina/Valuta/Converte una stringa contenente un
numero o una espressione restituendo un numero del tipo
opportuno
eval(’15’) # Restituisce 15
eval(‘1234/2’) # Restituisce 617,0
eval(‘180*2’) # Restituisce 360
A=20
eval(‘A/2’) # restituisce 10,0
![Page 20: Python - Primi passi](https://reader034.vdocuments.mx/reader034/viewer/2022051007/58ede54f1a28ab63228b46b3/html5/thumbnails/20.jpg)
len()
Determina la lunghezza di una stringa in numero di caratteri
Es:
len(‘milano’) # 6
A=‘manigoldo’
len(A) # 9
![Page 21: Python - Primi passi](https://reader034.vdocuments.mx/reader034/viewer/2022051007/58ede54f1a28ab63228b46b3/html5/thumbnails/21.jpg)
Liste
Insieme di dati disposti in sequenza con indice iniziale=0
La lista può contenere dati di tipo diverso
Ogni valore occupa una posizione ed è identificato dalla sua
posizione, la prima ha indice 0
L’indice può essere una costante
Nomi[2], Nomi[0], Nomi[1000] #rispettivamente il secondo, il primo, il
millesimo elemento della lista Nomi
L’indice può essere una variabile
i=5
Nomi[i]
![Page 22: Python - Primi passi](https://reader034.vdocuments.mx/reader034/viewer/2022051007/58ede54f1a28ab63228b46b3/html5/thumbnails/22.jpg)
Creare una lista
Può essere dichiara inizialmente vuota
Nomi=[]
Oppure può essere dichiarata ed inizializzata contestualmente
vocali=['a','e','i','o','u'] #crea lista con 5 caratteri
mesi=[31,28,31,30,31,30,31,31,30,31,30,31]
#crea lista con 12 numeri
![Page 23: Python - Primi passi](https://reader034.vdocuments.mx/reader034/viewer/2022051007/58ede54f1a28ab63228b46b3/html5/thumbnails/23.jpg)
Aggiungere ed eliminare elementi in
una lista
Elementi possono essere aggiunti alla fine o in una precisa posizione
vocali.append('j') #append nuovo elemento alla lista
vocali.insert(2, ‘y') #inserisce nuovo elemento in posizione 2
Elementi possono essere eliminati tramite la loro posizione
del vocali[3]
Elementi possono essere eliminati tramite il loro valore
vocali.remove(‘y')
Adesso quanti elementi sono presenti nella lista?
len(vocali) #restituisce il numero di elementi presenti nella lista
![Page 24: Python - Primi passi](https://reader034.vdocuments.mx/reader034/viewer/2022051007/58ede54f1a28ab63228b46b3/html5/thumbnails/24.jpg)
Gli elementi di una lista
Modificare un elemento della lista
num[5]=789
cont[0]=cont[0]+1
Ordinare gli elementi della lista in ordine crescente
nomi.sort()
Invertire l’ordine degli elementi della lista
nomi.reverse()
10 in importi
'i' in vocali
Restituiscono True se la lista contiene il valore cercato
![Page 25: Python - Primi passi](https://reader034.vdocuments.mx/reader034/viewer/2022051007/58ede54f1a28ab63228b46b3/html5/thumbnails/25.jpg)
Altre operazioni con le liste
Aggiungere elementi da un’altra lista
lista2=vocali + ['j','y']
Lista3=lista1 + lista2
Creare una lista di caratteri estratti da una stringa
lista=list("abcdfghilmnopqrstuvz")
Genera la lista [0,3,6,9]
list(range(0,10,3)
![Page 26: Python - Primi passi](https://reader034.vdocuments.mx/reader034/viewer/2022051007/58ede54f1a28ab63228b46b3/html5/thumbnails/26.jpg)
Gestione semplice degli errori
La struttura
try:
…istruzione da gestire
except Exception:
…cosa fare in caso di errore
Esempio:
a=“paola”
try:
a=a+1
except Exception:
print("errore: la variabile a non è di tipo numerico ")
![Page 27: Python - Primi passi](https://reader034.vdocuments.mx/reader034/viewer/2022051007/58ede54f1a28ab63228b46b3/html5/thumbnails/27.jpg)
File di testo
Operazioni principali sui file:
Apertura
Chiusura
Lettura
Scrittura
![Page 28: Python - Primi passi](https://reader034.vdocuments.mx/reader034/viewer/2022051007/58ede54f1a28ab63228b46b3/html5/thumbnails/28.jpg)
Apertura
Apre un file in una data modalità creando un oggetto: oggetto=open(nomefile, modo)
Il modo può essere:
'r' open for reading (default) #‘r+’, ‘r+b’
'w' open for writing, truncating the file first
'x' open for exclusive creation, failing if the file already exists
'a' open for writing, appending to the end of the file if it exists
'b' binary mode
't' text mode (default)
'+' open a disk file for updating (reading and writing)
f=open("alunni.txt",'r+')
![Page 29: Python - Primi passi](https://reader034.vdocuments.mx/reader034/viewer/2022051007/58ede54f1a28ab63228b46b3/html5/thumbnails/29.jpg)
Chiusura
Chiude un oggetto aperto in precedenza
oggetto.close()
Chiudere sempre un oggetto se non più necessario
f.close()
![Page 30: Python - Primi passi](https://reader034.vdocuments.mx/reader034/viewer/2022051007/58ede54f1a28ab63228b46b3/html5/thumbnails/30.jpg)
Lettura e scrittura
obj.readline() #legge una linea dal file
obj.read(n) #legge n caratteri dal file o, se n è omesso, fino alla fine
obj.write(variabile) #scrive nel file la variabile specificata
![Page 31: Python - Primi passi](https://reader034.vdocuments.mx/reader034/viewer/2022051007/58ede54f1a28ab63228b46b3/html5/thumbnails/31.jpg)
Esempio
f=open("nomi.txt",'r+') # ‘a’
rec=‘.’
while rec:
rec=f.readline()
print(rec,end="")
while True:
n=input("Immetti un nome ")
if n=="":
break
f.write(n+’\n’)
f.close()
![Page 32: Python - Primi passi](https://reader034.vdocuments.mx/reader034/viewer/2022051007/58ede54f1a28ab63228b46b3/html5/thumbnails/32.jpg)
Link utili
https://doc.python.org
www.python.it
www.html.it/guide/guida-python/