Booleani
Cos’è un booleano?
Sezione intitolata “Cos’è un booleano?”Molte domande ammettono due sole risposte, come “vero” e “falso”:
- La luce è accesa? Sì o No.
- Sono maggiorenne? Vero o Falso.
- Fa freddo fuori? Vero o Falso.
In Python esistono esattamente questi due valori: True (vero) e False (falso). Il tipo di dato che li contiene si chiama booleano (bool).
La prima lettera è sempre maiuscola. true e false (tutto minuscolo) causano un errore.
luce_accesa = Truefa_freddo = Falseprint(type(luce_accesa)) # <class 'bool'>I confronti producono booleani
Sezione intitolata “I confronti producono booleani”Ogni confronto tra due valori restituisce True oppure False:
print(5 > 3) # True: 5 è maggiore di 3? Sìprint(5 < 3) # False: 5 è minore di 3? Noprint(5 == 5) # True: 5 è uguale a 5? Sìprint(5 != 3) # True: 5 è diverso da 3? Sìprint(5 >= 5) # True: 5 è maggiore o uguale a 5? Sìprint(5 <= 4) # False: 5 è minore o uguale a 4? NoCombinare condizioni con and, or, not
Sezione intitolata “Combinare condizioni con and, or, not”Per combinare più condizioni puoi usare tre operatori logici.
and: “e”
Sezione intitolata “and: “e””Restituisce True solo se tutte le condizioni sono vere. Nell’esempio dell’auto, puoi passare solo se la strada è libera e il semaforo è verde.
eta = 20ha_patente = True
# Puoi guidare solo se sei maggiorenne E hai la patenteprint(eta >= 18 and ha_patente) # Trueor: “o”
Sezione intitolata “or: “o””Restituisce True se almeno una condizione è vera. Per esempio, puoi entrare al cinema se hai il biglietto o sei membro del club.
ha_biglietto = Falsee_membro = True
print(ha_biglietto or e_membro) # True: basta una delle duenot: “non”
Sezione intitolata “not: “non””Inverte il valore: trasforma True in False e viceversa.
piove = Falseprint(not piove) # True: NON piove, quindi posso uscire
maggiorenne = Trueprint(not maggiorenne) # FalseValori “truthy” e “falsy”
Sezione intitolata “Valori “truthy” e “falsy””In Python anche valori diversi da True e False possono essere valutati come veri o falsi. Ogni valore ha un comportamento booleano.
I valori che Python considera falsi (equivalenti a False):
False0e0.0""(stringa vuota, cioè nessun testo)[](lista vuota)None(assenza di valore)
Tutto il resto è considerato vero: per esempio un numero diverso da zero, una stringa non vuota o una lista con elementi.
print(bool(0)) # False: zero è falsoprint(bool("")) # False: stringa vuota è falsaprint(bool([])) # False: lista vuota è falsa
print(bool(42)) # True: qualsiasi numero non-zero è veroprint(bool("ciao")) # True: qualsiasi testo non-vuoto è veroprint(bool([1, 2])) # True: una lista con elementi è veraNelle condizioni puoi quindi verificare direttamente se un nome è stato inserito:
nome = ""if nome: print("Ciao, " + nome + "!")else: print("Non hai inserito nessun nome.") # questa viene stampata