next up previous contents
Next: Connettivi logici Up: Introduzione Previous: Funzioni, subroutines   Indice

Controllo del flusso

Molto spesso durante la descrizione di un algoritmo ci si trova a dover affrontare il problema del controllo del flusso, ossia dall'esecuzione condizionale di operazioni. Essa è governata dal costrutto if/elif/else. Per esempio la seguente funzione sign restituisce +1, -1 o zero a seconda che il valore di x sia maggiore, minore o uguale a zero:

>>> def sign(x):
...     if (x > 0): # se x > 0
...         print "first"
...         val=1
...     elif (x < 0): # altrimenti se x < 0
...         print "second"
...         val=-1
...     else:
...         print "third"
...         val=0
...     return val
... 
>>> sign(4)
first
1
>>> sign(0.000)
third
0
>>> sign(-0.12)
second
-1
Da notare che l'istruzione return, essendo allineata allo stesso livello del blocco di istruzioni if elif else, riprende il flusso sequenziale e viene sempre eseguita a prescindere dall'esito dell'if. Nel costrutto deve esistere almeno un if, mentre può esistere o meno un solo else al termine del blocco e possono eistere da zero ad un numero arbitrario di conzizioni elif. L'interprete Python, esamina l'insieme di condizioni dalla prima all'ultima, e se ne trova una verificata esegue il corrispondente sottoblocco e poi esce dal blocco if.

Oltre agli operatori binari maggiore > e minore <, esistono anche quello di maggiore-uguale >=, minore-uguale <=, uguaglianza == (che è diverso da quello di assegnazione =), e 'diverso' !=.



Subsections
next up previous contents
Next: Connettivi logici Up: Introduzione Previous: Funzioni, subroutines   Indice
2004-11-02