2.11 - Uso di espressioni booleane.

Oltre le variabili di tipo numerico e stringa esistono anche le variabili booleane, che possono assumere soltanto due valori: True (vero) o False(falso). Come possiamo indicare che un numero è compreso tra altri due?
Ad esempio per indicare che la variabile a è compresa tra 3 ed 8 (3 ed 8 esclusi) possiamo scrivere:
a>3 and a<8
Se, invece, vogliamo indicare che 3 ed 8 sono inclusi scriviamo:
a>=3 and a<=8
Scriviamo un programma che, assegnato un numero intero a controlli se è compreso tra 1 e 100 inclusi rispondendo True o False.
Riflettiamo sul problema per tradurlo in Python:
“assegnato un numero intero a” corrisponde a
a=input(“scrivi un numero compreso tra 1 e 100”)
a è una stringa che va trasformata in intero con l’istruzione
a=int(a)
“controlli se è compreso tra 1 e 100 inclusi” corrisponde a
risposta=(a>=1 and a<=100)
“rispondendo True o False” corrisponde a
print(a,” è compreso tra 1 e 100 “,risposta)
Carichiamo l’IDLE e scriviamo il programma:

Salviamolo con il nome tra1e100.py ed eseguiamolo con F5; otteniamo

Digitando il numero 25, abbiamo

Digitando il numero 0 otteniamo

Anche negli operatori booleani si usano le parentesi, per cui è necessario assegnare una priorità. La successiva tabella illustra queste priorità.

Simbolo Operazione
%, *, / Modulo, moltiplicazione e divisione
+, - Addizione e sottrazione
>, <, >=,<=,==,!= Operatori di confronto
not NOT booleano
and AND booleano
or OR booleano

Le operazioni sono indicate in ordine di priorità, a meno delle parentesi. Per esempio
A or B and C
Saranno valutate come:
A or (B and C)
Una espressione più complessa come:
x < 2 or 1+3*x > 2+4/2 and not x < y
Sarà calcolata come:
(x < 2) or (1+(3*x) > 2+(4/2) and (not (x < y)))

Provate varie espressioni, come la precedente, con l'interprete Python.