Python - Primi passi

Post on 22-Jan-2018

243 views 0 download

Transcript of Python - Primi passi

PythonPrimi passi

ugo.rinaldi@gmail.com

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)

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

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

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

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)

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

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

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

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

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

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

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

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

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

FUNZIONI d’uso comuneIn PYTHON

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

float()

Converte un numero o una stringa in numero floating

float(15) # Restituisce 4,0

float(‘1234’) # Restituisce 1234,0

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

len()

Determina la lunghezza di una stringa in numero di caratteri

Es:

len(‘milano’) # 6

A=‘manigoldo’

len(A) # 9

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]

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

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

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

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)

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 ")

File di testo

Operazioni principali sui file:

Apertura

Chiusura

Lettura

Scrittura

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+')

Chiusura

Chiude un oggetto aperto in precedenza

oggetto.close()

Chiudere sempre un oggetto se non più necessario

f.close()

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

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()

Link utili

https://doc.python.org

www.python.it

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