Operatori di Confronto
I confronti permettono al programma di porre domande sì/no sui valori:
- Sono uguali?
 - Questo è maggiore?
 - Questo numero rientra in un intervallo?
 
Un confronto restituisce un valore booleano (True o False) ed è la base della logica if/while.
Elementi essenziali
Python fornisce sei operatori di confronto (==, !=, <, <=, >, >=) per verificare uguaglianza e ordinamento tra valori; ogni confronto restituisce True o False.
Uguaglianza — ==
Verifica se due valori sono uguali.
12print(5 == 5) # True print("apple" == "Apple") # False (case matters)
= assegna un valore a una variabile, mentre == confronta due valori.
Disuguaglianza — !=
Verifica se due valori sono diversi.
12print(5 != 3) # True print("cat" != "cat") # False
Maggiore di — >
Vero se il valore a sinistra è strettamente maggiore di quello a destra.
12print(7 > 9) # False print(12 > 3) # True
Minore di — <
Vero se il valore a sinistra è strettamente minore di quello a destra.
12print(2 < 10) # True print("a" < "b") # True (lexicographic order)
Maggiore o uguale — >=
Vero se il valore a sinistra è maggiore o uguale a quello a destra.
12print(7 >= 7) # True print(4 >= 9) # False
Minore o uguale — <=
Vero se il valore a sinistra è minore o uguale a quello a destra.
12print(10 <= 9) # False print(5 <= 5) # True
Confronti concatenati
Python consente di scrivere intervalli in modo naturale:
0 < x < 10 significa "x è maggiore di 0 e minore di 10".
Internamente si comporta come (0 < x) and (x < 10).
123x = 7 print(0 < x < 10) # True print(5 <= x <= 7) # True
Questa sintassi è leggibile e evita di ripetere x.
Sfumatore dei numeri in virgola mobile (piccoli errori di arrotondamento)
Alcuni decimali (come 0.1) non possono essere rappresentati esattamente in binario. Per questo motivo, l'uguaglianza stretta tra float può portare a risultati inattesi.
1print(0.1 + 0.2 == 0.3) # False in many environments
Quando si confrontano float per "uguaglianza", è preferibile utilizzare un controllo di tolleranza.
12import math print(math.isclose(0.1 + 0.2, 0.3, rel_tol=1e-9)) # True
Non si sta affermando "esattamente uguale", ma piuttosto "abbastanza vicino".
Confronto tra stringhe (maiuscole/minuscole e ordine)
I confronti tra stringhe sono case-sensitive e lessicografici (carattere per carattere secondo l'ordine Unicode).
12print("apple" == "Apple") # False (case matters) print("apple" < "banana") # True ("a" comes before "b")
Per confronti senza distinzione tra maiuscole e minuscole, normalizzare prima entrambi i lati.
12s1, s2 = "Hello", "heLLo" print(s1.lower() == s2.lower()) # True
1. Completa gli spazi con True o False:
2. Quale singola espressione verifica correttamente che x sia compreso tra 1 e 5 inclusi (usando il chaining)?
3. Quale confronto tra stringhe restituisce True?
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Awesome!
Completion rate improved to 5
Operatori di Confronto
Scorri per mostrare il menu
I confronti permettono al programma di porre domande sì/no sui valori:
- Sono uguali?
 - Questo è maggiore?
 - Questo numero rientra in un intervallo?
 
Un confronto restituisce un valore booleano (True o False) ed è la base della logica if/while.
Elementi essenziali
Python fornisce sei operatori di confronto (==, !=, <, <=, >, >=) per verificare uguaglianza e ordinamento tra valori; ogni confronto restituisce True o False.
Uguaglianza — ==
Verifica se due valori sono uguali.
12print(5 == 5) # True print("apple" == "Apple") # False (case matters)
= assegna un valore a una variabile, mentre == confronta due valori.
Disuguaglianza — !=
Verifica se due valori sono diversi.
12print(5 != 3) # True print("cat" != "cat") # False
Maggiore di — >
Vero se il valore a sinistra è strettamente maggiore di quello a destra.
12print(7 > 9) # False print(12 > 3) # True
Minore di — <
Vero se il valore a sinistra è strettamente minore di quello a destra.
12print(2 < 10) # True print("a" < "b") # True (lexicographic order)
Maggiore o uguale — >=
Vero se il valore a sinistra è maggiore o uguale a quello a destra.
12print(7 >= 7) # True print(4 >= 9) # False
Minore o uguale — <=
Vero se il valore a sinistra è minore o uguale a quello a destra.
12print(10 <= 9) # False print(5 <= 5) # True
Confronti concatenati
Python consente di scrivere intervalli in modo naturale:
0 < x < 10 significa "x è maggiore di 0 e minore di 10".
Internamente si comporta come (0 < x) and (x < 10).
123x = 7 print(0 < x < 10) # True print(5 <= x <= 7) # True
Questa sintassi è leggibile e evita di ripetere x.
Sfumatore dei numeri in virgola mobile (piccoli errori di arrotondamento)
Alcuni decimali (come 0.1) non possono essere rappresentati esattamente in binario. Per questo motivo, l'uguaglianza stretta tra float può portare a risultati inattesi.
1print(0.1 + 0.2 == 0.3) # False in many environments
Quando si confrontano float per "uguaglianza", è preferibile utilizzare un controllo di tolleranza.
12import math print(math.isclose(0.1 + 0.2, 0.3, rel_tol=1e-9)) # True
Non si sta affermando "esattamente uguale", ma piuttosto "abbastanza vicino".
Confronto tra stringhe (maiuscole/minuscole e ordine)
I confronti tra stringhe sono case-sensitive e lessicografici (carattere per carattere secondo l'ordine Unicode).
12print("apple" == "Apple") # False (case matters) print("apple" < "banana") # True ("a" comes before "b")
Per confronti senza distinzione tra maiuscole e minuscole, normalizzare prima entrambi i lati.
12s1, s2 = "Hello", "heLLo" print(s1.lower() == s2.lower()) # True
1. Completa gli spazi con True o False:
2. Quale singola espressione verifica correttamente che x sia compreso tra 1 e 5 inclusi (usando il chaining)?
3. Quale confronto tra stringhe restituisce True?
Grazie per i tuoi commenti!