SlideShare a Scribd company logo
Python
Primi 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 comune
In 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/

More Related Content

PDF
Flow chart
orestJump
 
PPTX
Algoritmi
Tania de Angelis
 
PDF
15 - Programmazione: Algoritmi
Majong DevJfu
 
PPT
come costruire un algoritmo
Silvano Natalizi - ITIS ALESSANDRO VOLTA PERUGIA
 
PDF
Cosa sono gli algoritmi?
mattuzzi
 
PDF
Presentazione corretta algoritmi
mattuzzi
 
PDF
Lezione 6 (12 marzo 2012)
STELITANO
 
PPTX
L'algoritmo
Piera Ingala
 
Flow chart
orestJump
 
Algoritmi
Tania de Angelis
 
15 - Programmazione: Algoritmi
Majong DevJfu
 
Cosa sono gli algoritmi?
mattuzzi
 
Presentazione corretta algoritmi
mattuzzi
 
Lezione 6 (12 marzo 2012)
STELITANO
 
L'algoritmo
Piera Ingala
 

What's hot (20)

PPT
Algoritmi
Emilia Calzetta
 
PDF
08 - Programmazione: Passaggio valori tra funzioni per riferimenti
Majong DevJfu
 
PDF
Esercitazione 2 (29 febbraio 2012)
STELITANO
 
PDF
Esercitazione 3 (14 marzo 2012)
STELITANO
 
PDF
05 - Programmazione: Funzioni
Majong DevJfu
 
PPT
4 Strutture Condizionali
guest60e9511
 
PDF
10 - Programmazione: Tipi di dato strutturati
Majong DevJfu
 
PPTX
Linguaggio C++ - Basi
I.S.I.S. "Antonio Serra" - Napoli
 
PDF
Laboratorio Programmazione: Operatori logici
Majong DevJfu
 
PDF
Lezione 12 (28 marzo 2012)
STELITANO
 
PPTX
La metodologia Top - Down - applicazione al C++
I.S.I.S. "Antonio Serra" - Napoli
 
PDF
Soluzione esame b del 13 giugno 2012
STELITANO
 
PPTX
I cicli in Python 3
I.S.I.S. "Antonio Serra" - Napoli
 
PDF
Esercitazione 4 (19 marzo 2012)
STELITANO
 
PDF
Lezione 12 (28 marzo 2012)
STELITANO
 
PDF
06 - Programmazione: Scope Variabili
Majong DevJfu
 
PDF
07 - Programmazione: Tipi di base e conversioni
Majong DevJfu
 
PDF
Umano vs Computer: un esempio pratico
Francesco Sblendorio
 
PPSX
Informatica di base
Francesco Zoino
 
PPT
Flow Chart - Diagramma a blocchi
dibari.92
 
Algoritmi
Emilia Calzetta
 
08 - Programmazione: Passaggio valori tra funzioni per riferimenti
Majong DevJfu
 
Esercitazione 2 (29 febbraio 2012)
STELITANO
 
Esercitazione 3 (14 marzo 2012)
STELITANO
 
05 - Programmazione: Funzioni
Majong DevJfu
 
4 Strutture Condizionali
guest60e9511
 
10 - Programmazione: Tipi di dato strutturati
Majong DevJfu
 
Linguaggio C++ - Basi
I.S.I.S. "Antonio Serra" - Napoli
 
Laboratorio Programmazione: Operatori logici
Majong DevJfu
 
Lezione 12 (28 marzo 2012)
STELITANO
 
La metodologia Top - Down - applicazione al C++
I.S.I.S. "Antonio Serra" - Napoli
 
Soluzione esame b del 13 giugno 2012
STELITANO
 
Esercitazione 4 (19 marzo 2012)
STELITANO
 
Lezione 12 (28 marzo 2012)
STELITANO
 
06 - Programmazione: Scope Variabili
Majong DevJfu
 
07 - Programmazione: Tipi di base e conversioni
Majong DevJfu
 
Umano vs Computer: un esempio pratico
Francesco Sblendorio
 
Informatica di base
Francesco Zoino
 
Flow Chart - Diagramma a blocchi
dibari.92
 
Ad

Viewers also liked (20)

PDF
Tecnologie informatiche
orestJump
 
PDF
Introduzione ai Sistemi Operativi
orestJump
 
PDF
Python per tutti
masci
 
PDF
Javascript
orestJump
 
PDF
Penetration Testing con Python - Network Sniffer
Simone Onofri
 
PDF
Guida introduttiva al css
Enrico Mainero
 
PDF
Php mysql3
orestJump
 
PDF
Struttura di una pagina html
Enrico Mainero
 
PDF
Html5 appunti.0
orestJump
 
PDF
HTML5 e Css3 - 4 | WebMaster & WebDesigner
Matteo Magni
 
PPTX
Html5 e css3 nuovi strumenti per un nuovo web
Massimo Bonanni
 
PDF
Html e Css - 3 | WebMaster & WebDesigner
Matteo Magni
 
PDF
Introduzione JQuery
orestJump
 
PDF
Html5 - Un anno dopo
Cristiano Rastelli
 
PDF
Elementi base del pensiero computazionale e SCRATCH
Virginia Ruggeri
 
PDF
Html e CSS ipertesti e siti web 4.5
orestJump
 
PDF
Guida introduttiva al codice HTML
Enrico Mainero
 
PDF
Php mysql e cms
orestJump
 
PDF
Scenario reclutamento INFN al 17 Novembre 2008
dael.maselli
 
Tecnologie informatiche
orestJump
 
Introduzione ai Sistemi Operativi
orestJump
 
Python per tutti
masci
 
Javascript
orestJump
 
Penetration Testing con Python - Network Sniffer
Simone Onofri
 
Guida introduttiva al css
Enrico Mainero
 
Php mysql3
orestJump
 
Struttura di una pagina html
Enrico Mainero
 
Html5 appunti.0
orestJump
 
HTML5 e Css3 - 4 | WebMaster & WebDesigner
Matteo Magni
 
Html5 e css3 nuovi strumenti per un nuovo web
Massimo Bonanni
 
Html e Css - 3 | WebMaster & WebDesigner
Matteo Magni
 
Introduzione JQuery
orestJump
 
Html5 - Un anno dopo
Cristiano Rastelli
 
Elementi base del pensiero computazionale e SCRATCH
Virginia Ruggeri
 
Html e CSS ipertesti e siti web 4.5
orestJump
 
Guida introduttiva al codice HTML
Enrico Mainero
 
Php mysql e cms
orestJump
 
Scenario reclutamento INFN al 17 Novembre 2008
dael.maselli
 
Ad

Similar to Python - Primi passi (20)

PDF
2006 Py02 base
Loris Michielutti
 
PDF
Slides introduttive alla programmazione del linguaggio Python
gnike62
 
PDF
Lezione 8 (12 marzo 2012)
STELITANO
 
PDF
2008 python
Loris Michielutti
 
KEY
Pycrashcourse
rik0
 
PPT
Stringhe java
Maria de Masi
 
PDF
Il rasoio dei generatori di Python (per semplificare il codice e ridurre l'us...
Davide Brunato
 
PDF
Lezione 13 (2 aprile 2012)
STELITANO
 
PDF
Lezione 13 (2 aprile 2012)
STELITANO
 
PPT
05 3 istruzioni-selezione-iterazione-condizioni
Piero Fraternali
 
PPT
07 1 funzioni
Piero Fraternali
 
PPT
5 Strutture Iterative
guest60e9511
 
PDF
Eserc v del 26 marzo 2012
STELITANO
 
PPSX
Array
Mariangela Mone
 
PPTX
07 2 ricorsione
Piero Fraternali
 
PDF
Lezione 23 (9 maggio 2012)
STELITANO
 
PDF
Algoritmi e Programmazione Avanzata - Esercizi propedeutici
Sergio Porcu
 
PDF
Il simulatore NS-2
Paolo Campegiani
 
PPTX
Python@Unina - Exercises
NaLUG
 
PDF
Spyppolare o non spyppolare
PyCon Italia
 
2006 Py02 base
Loris Michielutti
 
Slides introduttive alla programmazione del linguaggio Python
gnike62
 
Lezione 8 (12 marzo 2012)
STELITANO
 
2008 python
Loris Michielutti
 
Pycrashcourse
rik0
 
Stringhe java
Maria de Masi
 
Il rasoio dei generatori di Python (per semplificare il codice e ridurre l'us...
Davide Brunato
 
Lezione 13 (2 aprile 2012)
STELITANO
 
Lezione 13 (2 aprile 2012)
STELITANO
 
05 3 istruzioni-selezione-iterazione-condizioni
Piero Fraternali
 
07 1 funzioni
Piero Fraternali
 
5 Strutture Iterative
guest60e9511
 
Eserc v del 26 marzo 2012
STELITANO
 
07 2 ricorsione
Piero Fraternali
 
Lezione 23 (9 maggio 2012)
STELITANO
 
Algoritmi e Programmazione Avanzata - Esercizi propedeutici
Sergio Porcu
 
Il simulatore NS-2
Paolo Campegiani
 
Python@Unina - Exercises
NaLUG
 
Spyppolare o non spyppolare
PyCon Italia
 

Recently uploaded (20)

PDF
Il finto funerale di Hastings/Ragnar a Luni una storia transmediale di successo
Laboratorio di Cultura Digitale, labcd.humnet.unipi.it
 
PDF
River Diversions A Design Guide Fisher Karen Ramsbottom David
wildyfiney7t
 
PDF
Inequality In Public School Admission In Urban China 1st Ed Jing Liu
hoczmiby1785
 
PDF
Theories in Second Language Acquisition 2nd Edition Bill Vanpatten
dakcwdr215
 
PDF
Nonlinear time series semiparametric and nonparametric methods 1st Edition Ji...
qvhcajae3274
 
PDF
Download full ebook of Eternity Row Viehl S L instant download pdf
nruebomj2316
 
PDF
Plant Breeding Reviews Volume 38 1st Edition Jules Janick (Editor)
ykyipya7146
 
PDF
Genomic Approaches for Cross Species Extrapolation in Toxicology 1st Edition ...
bblqruhf237
 
PDF
Endovascular Intervention for Vascular Disease Principles and Practice 1st Ed...
ecyrbux1225
 
PDF
Mechanism Machine Robotics And Mechatronics Sciences 1st Ed Rany Rizk
tlrgxhdb1583
 
PPTX
Anne in italiana version handmade p.pptx
3326634869
 
PDF
GIS for coastal zone management 1st Edition Darius J. Bartlett
vmlvdicyan1459
 
PDF
Techniques Technology and Civilization 1st Edition Marcel Mauss
beuvygsnb2172
 
PDF
Splatterpunk Bloodstains Bantry Jack Young Wile Garza Michelle Lason
yefeocqetc245
 
PDF
On The Republic And On The Laws Marcus Tullius Cicero
tmgdbwp558
 
PDF
Jonathan Edwardss Vision Of Reality John J Bombaro
wjajdjg4849
 
PDF
Cultural globalization and language education 1st Edition Kumaravadivelu
bpmcxwqd7276
 
PDF
Convivial Toolbox Generative Research for the Front End of Design Sanders
dbfgwsd7013
 
PDF
Download full ebook of Urban Health Steven Whitman instant download pdf
aiyifwhh358
 
PDF
Postgresql 155 Documentation 155 The Postgresql Global Development Group
wfilecmlq435
 
Il finto funerale di Hastings/Ragnar a Luni una storia transmediale di successo
Laboratorio di Cultura Digitale, labcd.humnet.unipi.it
 
River Diversions A Design Guide Fisher Karen Ramsbottom David
wildyfiney7t
 
Inequality In Public School Admission In Urban China 1st Ed Jing Liu
hoczmiby1785
 
Theories in Second Language Acquisition 2nd Edition Bill Vanpatten
dakcwdr215
 
Nonlinear time series semiparametric and nonparametric methods 1st Edition Ji...
qvhcajae3274
 
Download full ebook of Eternity Row Viehl S L instant download pdf
nruebomj2316
 
Plant Breeding Reviews Volume 38 1st Edition Jules Janick (Editor)
ykyipya7146
 
Genomic Approaches for Cross Species Extrapolation in Toxicology 1st Edition ...
bblqruhf237
 
Endovascular Intervention for Vascular Disease Principles and Practice 1st Ed...
ecyrbux1225
 
Mechanism Machine Robotics And Mechatronics Sciences 1st Ed Rany Rizk
tlrgxhdb1583
 
Anne in italiana version handmade p.pptx
3326634869
 
GIS for coastal zone management 1st Edition Darius J. Bartlett
vmlvdicyan1459
 
Techniques Technology and Civilization 1st Edition Marcel Mauss
beuvygsnb2172
 
Splatterpunk Bloodstains Bantry Jack Young Wile Garza Michelle Lason
yefeocqetc245
 
On The Republic And On The Laws Marcus Tullius Cicero
tmgdbwp558
 
Jonathan Edwardss Vision Of Reality John J Bombaro
wjajdjg4849
 
Cultural globalization and language education 1st Edition Kumaravadivelu
bpmcxwqd7276
 
Convivial Toolbox Generative Research for the Front End of Design Sanders
dbfgwsd7013
 
Download full ebook of Urban Health Steven Whitman instant download pdf
aiyifwhh358
 
Postgresql 155 Documentation 155 The Postgresql Global Development Group
wfilecmlq435
 

Python - Primi passi

  • 2. 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)
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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)
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. 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
  • 17. 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
  • 18. float()  Converte un numero o una stringa in numero floating  float(15) # Restituisce 4,0  float(‘1234’) # Restituisce 1234,0
  • 19. 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
  • 20. len()  Determina la lunghezza di una stringa in numero di caratteri Es:  len(‘milano’) # 6  A=‘manigoldo’  len(A) # 9
  • 21. 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]
  • 22. 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
  • 23. 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
  • 24. 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
  • 25. 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)
  • 26. 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 ")
  • 27. File di testo Operazioni principali sui file:  Apertura  Chiusura  Lettura  Scrittura
  • 28. 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+')
  • 29. Chiusura  Chiude un oggetto aperto in precedenza  oggetto.close()  Chiudere sempre un oggetto se non più necessario  f.close()
  • 30. 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
  • 31. 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()