Valori booleani e il controllo del flusso
Abbiamo visto nella prima parte del corso i tipi di dato integer e float. Bene esistono anche altri tipi di dato molto utili nei linguaggi di programmazione ed uno di questi sono i valori booleani.
I valori booleani sono solo due:
- True (vero)
- False (falso)
Attenzione alla lettera maiuscola iniziale. non sono booleani i valori true e false.
>>> a = True
True
>>> a = true
Traceback (most recent call last):
File: "", line 1, in
NameError: name 'true' is not defined
Le condizioni
Nella programmazione il poter disporre di questi valori ci permette di poter gestire in maniera molto semplice alcune operazioni come per esempio le condizioni.
In questa seconda parte del corso vedremo come le condizioni siano un meccanismo molto importante con cui controllare il flusso di un programma.
Abbiamo visto nella prima parte come i comandi venivano eseguiti uno alla volta. Interagendo via via con la console di Python e cambiando i comandi a seconda dei risultati ottenuti. Bene questo però non è possibile con i programmi (diciamo più correttamente che non è corretto). In effetti i programmi devono essere in grado da soli a prendere delle decisioni, e questo lo possono fare tramite delle valutazioni delle condizioni.
Se certe condizioni verranno soddisfatte il programma eseguirà dei comandi, altrimenti ne eseguirà altri.
Questo è il controllo del flusso del programma.
Gran parte della seconda parte del corso si baserà proprio su questo concetto.
Operatori di confronto
Per prima cosa, per costruire una condizione abbiamo bisogno di un set di operatori che effettuino delle comparazioni.
Per esempio l’operatore di uguaglianza == controlla che due valori, o variabili abbiano lo stesso valore. Se lo hanno restituirà True, altrimenti False. Comunque restituirà un valore booleano. Ecco qui che abbiamo una condizione.
Continuando a lavorare sulla console di Python. Testiamo la funzionalità dell’operatore di confronto
>>> a = 3; b = 2; c = 3
>>> a == b
False
>>> a == c
True
Nota: per assegnazioni semplici possiamo utilizzare più comandi sulla stessa riga separandoli con ‘;’. Attenzione a non abusare di questo per non abbassare la leggibilità del codice.
L’operatore di comparazione funziona anche per valori stringa
>>> a = "Hello"; b = "World!"; c = "Hello"
>>> a == b
False
>>> a == c
True
Un altro operatore è quello di disuguaglianza, !=. Questo funziona esattamente in maniera opposta a quello precedente, restituendo True se i valori contenuti nelle due variabili sono diversi, False altrimenti.
>>> a = 3; b = 2; c = 3
>>> a != b
True
>>> a != c
False
Ma non esistono solo questo tipo di operatori. Infatti molto utilizzati con i numeri sono gli operatori di confronto > , >=, < e <=.
Questa classe di operatori di confronto ci permettono porre delle condizioni per sapere se un numero è maggiore o minore di un altro.
>>> 3 <= 8
True
>>> 4 > 8
False