Python - Primi passi

32
Python Primi passi [email protected]

Transcript of Python - Primi passi

Page 1: Python - Primi passi

PythonPrimi passi

[email protected]

Page 2: Python - Primi passi

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

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

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

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

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

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

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

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

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

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

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

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

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

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

FUNZIONI d’uso comuneIn PYTHON

Page 17: Python - Primi passi

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

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

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

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

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

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

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

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

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

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

File di testo

Operazioni principali sui file:

Apertura

Chiusura

Lettura

Scrittura

Page 28: Python - Primi passi

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

Chiusura

Chiude un oggetto aperto in precedenza

oggetto.close()

Chiudere sempre un oggetto se non più necessario

f.close()

Page 30: Python - Primi passi

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

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

Link utili

https://doc.python.org

www.python.it

www.html.it/guide/guida-python/