Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Operatori di Confronto | Boolean e Confronti
Tipi di Dati in Python

bookOperatori 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.

12
print(5 == 5) # True print("apple" == "Apple") # False (case matters)
copy
Note
Nota

= assegna un valore a una variabile, mentre == confronta due valori.

Disuguaglianza — !=

Verifica se due valori sono diversi.

12
print(5 != 3) # True print("cat" != "cat") # False
copy

Maggiore di — >

Vero se il valore a sinistra è strettamente maggiore di quello a destra.

12
print(7 > 9) # False print(12 > 3) # True
copy

Minore di — <

Vero se il valore a sinistra è strettamente minore di quello a destra.

12
print(2 < 10) # True print("a" < "b") # True (lexicographic order)
copy

Maggiore o uguale — >=

Vero se il valore a sinistra è maggiore o uguale a quello a destra.

12
print(7 >= 7) # True print(4 >= 9) # False
copy

Minore o uguale — <=

Vero se il valore a sinistra è minore o uguale a quello a destra.

12
print(10 <= 9) # False print(5 <= 5) # True
copy

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).

123
x = 7 print(0 < x < 10) # True print(5 <= x <= 7) # True
copy

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.

1
print(0.1 + 0.2 == 0.3) # False in many environments
copy

Quando si confrontano float per "uguaglianza", è preferibile utilizzare un controllo di tolleranza.

12
import math print(math.isclose(0.1 + 0.2, 0.3, rel_tol=1e-9)) # True
copy

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).

12
print("apple" == "Apple") # False (case matters) print("apple" < "banana") # True ("a" comes before "b")
copy

Per confronti senza distinzione tra maiuscole e minuscole, normalizzare prima entrambi i lati.

12
s1, s2 = "Hello", "heLLo" print(s1.lower() == s2.lower()) # True
copy

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?

question-icon

Completa gli spazi con True o False:

5 == 5
3 < 2

9 >= 9

"A" == "a"

0 < 7 <= 7

Click or drag`n`drop items and fill in the blanks

question mark

Quale singola espressione verifica correttamente che x sia compreso tra 1 e 5 inclusi (usando il chaining)?

Select the correct answer

question mark

Quale confronto tra stringhe restituisce True?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 2

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Awesome!

Completion rate improved to 5

bookOperatori 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.

12
print(5 == 5) # True print("apple" == "Apple") # False (case matters)
copy
Note
Nota

= assegna un valore a una variabile, mentre == confronta due valori.

Disuguaglianza — !=

Verifica se due valori sono diversi.

12
print(5 != 3) # True print("cat" != "cat") # False
copy

Maggiore di — >

Vero se il valore a sinistra è strettamente maggiore di quello a destra.

12
print(7 > 9) # False print(12 > 3) # True
copy

Minore di — <

Vero se il valore a sinistra è strettamente minore di quello a destra.

12
print(2 < 10) # True print("a" < "b") # True (lexicographic order)
copy

Maggiore o uguale — >=

Vero se il valore a sinistra è maggiore o uguale a quello a destra.

12
print(7 >= 7) # True print(4 >= 9) # False
copy

Minore o uguale — <=

Vero se il valore a sinistra è minore o uguale a quello a destra.

12
print(10 <= 9) # False print(5 <= 5) # True
copy

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).

123
x = 7 print(0 < x < 10) # True print(5 <= x <= 7) # True
copy

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.

1
print(0.1 + 0.2 == 0.3) # False in many environments
copy

Quando si confrontano float per "uguaglianza", è preferibile utilizzare un controllo di tolleranza.

12
import math print(math.isclose(0.1 + 0.2, 0.3, rel_tol=1e-9)) # True
copy

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).

12
print("apple" == "Apple") # False (case matters) print("apple" < "banana") # True ("a" comes before "b")
copy

Per confronti senza distinzione tra maiuscole e minuscole, normalizzare prima entrambi i lati.

12
s1, s2 = "Hello", "heLLo" print(s1.lower() == s2.lower()) # True
copy

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?

question-icon

Completa gli spazi con True o False:

5 == 5
3 < 2

9 >= 9

"A" == "a"

0 < 7 <= 7

Click or drag`n`drop items and fill in the blanks

question mark

Quale singola espressione verifica correttamente che x sia compreso tra 1 e 5 inclusi (usando il chaining)?

Select the correct answer

question mark

Quale confronto tra stringhe restituisce True?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 2
some-alt