Se trovi utile il mio blog sostienimi con una piccola donazione. GRAZIE

7 – Istruzioni condizionali

INDICE ARTICOLI

Identazione del codice

In Python, diversamente da altri linguaggi di programmazione , per definire un gruppo di codice non vengono utilizzate le parentesi tonde “( )” o graffe “{ }” ma bensì l’identazione del codice .
Quindi un blocco di codice si riconosce solo dalla sua formattazione .
Per esempio un blocco condizionato da una istruzione if sarà tutto allineato ma spostato a destra rispetto all’istruzione if e terminerà quando si riprenderà a scrivere nuovamente in linea con l’istruzione  if iniziale.

Riporto sotto un’esempio :

if x < 0:
    print ’Questo verrà stampato se x è minore di zero’
print ’Questo verrà stampato comunque’

Questo vale per la definizione di qualunque tipo blocco di codice quindi anche per le funzioni, di conseguenza in Python bisognerà porre particolare attenzione all’identazione perchè uno spazio in più o in meno all’inizio di una riga di codice può generare funzionamenti non previsti del codice.

[table id=6 /]

Un’espressione Booleana è un’espressione che è vera o falsa .
In python per vero si intende un valore 1 e per falso un valore 0.
Le istruzioni condizionali utilizzano queste espressioni per decidere se eseguire o meno un certo blocco di codice.

Istruzione if

L’istruzione condizionale if è forse la più conosciuta ed utilizzata per gestire il flusso di un programma.
Il suo significato è ” Se questa condizione è vera esegui “.
La sua forma più semplice è quella sottoriportata :

if x < 0:
    print ’Questo verrà stampato se x è minore di zero’

Un’altra forma dell’istruzione if è detta esecuzione alternativa dove le possibilità di azione sono due.
Questa forma viene realizzata utilizzando , oltre all’istruzione if , l’istruzione else (altrimenti).

if x == 0:
    print ’X è uguale a zero’
else:
    print ’X è diverso da zero’

Una terza forma viene utilizzata quando le possibilità di azione sono più di due e viene realizzata combinando le istruzioni if , elif (altrimenti se), else.

if x == 0:
    print 'X è uguale a zero'
elif x == 1:
    print 'X è uguale a uno'
elif x == 2:
    print 'X è uguale a due'
else:
    print 'X è diverso da zero , uno e due'

Questa forma permette di semplificare notevolmente l’identazione del codice e in pratica si comporta come un’istruzione switch o case che troviamo in altri linguaggi di programmazione.

Istruzione while

Molto spesso nei programmi è necessario eseguire parti di codice molte volte per portare a termine un’operazione .
Questa operazione viene comunemente chiamata iterazione ed il linguaggio Python fornisce vari metodi per implementarla,  uno di questi è la l’istruzione while (finchè).
Tramite questa funzione un blocco di codice viene ripetuto finchè la condizione è valida .

n = 10
while n > 0:
    print n
    n = n-1
    print n
print "Terminato"

Nell’esempio sopra verrà stampato il conto alla rovescia da 10 a 0 e alla fine verrà stampata la scritta Fine

Istruzione for

L’istruzione for di Python funziona in modo un pò differente da altri linguaggi come il C o il Pascal.
Invece di effettuare un’iterazione su di una progressione aritmetica , oppure dare all’utente la possibilità di definire sia il passo iterativo (incremento) che la condizione di arresto , in Python l’istruzione for compie un’iterazione sugli elementi di una qualsiasi sequenza , nell’ordine in cui appaiono nella sequenza.
Quindi in Python la funzione for può iterare su di una stringa opppure su di una lista di stringhe .

Per esempio :

>>> # Misura la lunghezza di alcune stringhe:
... a = [’gatto’, ’finestra’, ’defenestrare’]
>>> for x in a:
...
print x, len(x)
...
gatto 5
finestra 8
defenestrare 12

Non è consigliabile modificare all’interno del ciclo la sequenza su cui avviene l’iterazione.
Se è necessario eseguire questa oèerazione è meglio iterare su una copia della lista o sequenza .

La funzione range

La funzione range prende due argomenti e ritorna una lista che contiene tutti
gli interi a partire dal primo (incluso) fino al secondo (escluso).

Ci sono altre due forme per range.

Con un solo argomento viene creata una lista a partire da 0 mentre se è presente un terzo argomento questo specifica l’intervallo tra valori successivi, chiamato passo.

Se abbiniamo questa istruzione con l’istruzione for riusciamo ad implementare i cicli di iterazione come li utilizziamo in altri linguaggi quali il C.

Con un ciclo come quello che riporto sotto :

for count in range(1,11):
    print count

Otterremo :

1
2
3
4
5
6
7
8
9
10

Oviamente modificando i parametri della funzione range potremo adattare il nostro ciclo secondo le necessità.

INDICE ARTICOLI