Operator Logici
Le persone dicono "sì e sì", "sì o no", "assolutamente no". In Python, gli operatori logici and, or e not esprimono formalmente queste idee e producono valori booleani (True/False) che verranno utilizzati con i confronti in if/while.
Significato di ciascun operatore
Precedenza
not ha una precedenza maggiore di and, che a sua volta ha una precedenza maggiore di or (not > and > or). Utilizzare le parentesi in caso di dubbio.
Ad esempio, age >= 18 and has_id restituisce True solo se entrambe le condizioni sono soddisfatte:
123age = 21 has_id = True print(age >= 18 and has_id) # True
Tavola della verità
Una tavola della verità elenca tutti i possibili valori di verità degli input e mostra il risultato di un'espressione logica. È un modo compatto per ragionare sulla logica senza eseguire il codice.
Utilizzo della tabella
Se X è False e Y è True, allora X and Y è False, X or Y è True e not X è True.
Valori restituiti e short-circuiting (insieme)
and e or non restituiscono sempre le parole True/False; restituiscono uno dei loro operandi, e Python può interrompere la valutazione non appena il risultato è determinato.
-
A and B: -
Se
Aè falsy, l'espressione complessiva è falsa e il risultato èA(Python non valutaB); -
Se
Aè truthy, il risultato dipende daBe l'espressione restituisceB. -
A or B: -
Se
Aè truthy, l'espressione è vera e il risultato èA(Python non valutaB); -
Se
Aè falsy, il risultato dipende daBe l'espressione restituisceB. -
not Xrestituisce sempre un valore booleano effettivo:TrueoFalse.
Q2. Quale affermazione corrisponde alla logica classica per "né X né Y"?
A) not X or not Y
B) not (X or Y)
C) not X and Y
D) X and not Y
Q3. Cosa restituisce l'espressione?
username = ""
result = username or "Anonymous"
A) "" B) "Anonymous" C) True D) False
Soluzioni: Q1 → False, False, True; Q2 → B; Q3 → B.
12345678# Using the returned operand behavior + short-circuiting print("" or "Guest") # "Guest" (left falsey → returns right) print("User" or "Guest") # "User" (left truthy → returns left) print(0 and 123) # 0 (left falsey → returns left) print(5 and 123) # 123 (left truthy → returns right) print(not 0, not "hi") # True False
1. Completa gli spazi con True o False. Sia X = True, Y = False.
2. Quale affermazione corrisponde alla logica classica per "né X né Y"?
3. Cosa restituisce l'espressione?
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
Can you explain what "short-circuiting" means in more detail?
What are some common mistakes when using these logical operators in Python?
Can you give more real-world examples of using `and`, `or`, and `not`?
Awesome!
Completion rate improved to 5.26
Operator Logici
Scorri per mostrare il menu
Le persone dicono "sì e sì", "sì o no", "assolutamente no". In Python, gli operatori logici and, or e not esprimono formalmente queste idee e producono valori booleani (True/False) che verranno utilizzati con i confronti in if/while.
Significato di ciascun operatore
Precedenza
not ha una precedenza maggiore di and, che a sua volta ha una precedenza maggiore di or (not > and > or). Utilizzare le parentesi in caso di dubbio.
Ad esempio, age >= 18 and has_id restituisce True solo se entrambe le condizioni sono soddisfatte:
123age = 21 has_id = True print(age >= 18 and has_id) # True
Tavola della verità
Una tavola della verità elenca tutti i possibili valori di verità degli input e mostra il risultato di un'espressione logica. È un modo compatto per ragionare sulla logica senza eseguire il codice.
Utilizzo della tabella
Se X è False e Y è True, allora X and Y è False, X or Y è True e not X è True.
Valori restituiti e short-circuiting (insieme)
and e or non restituiscono sempre le parole True/False; restituiscono uno dei loro operandi, e Python può interrompere la valutazione non appena il risultato è determinato.
-
A and B: -
Se
Aè falsy, l'espressione complessiva è falsa e il risultato èA(Python non valutaB); -
Se
Aè truthy, il risultato dipende daBe l'espressione restituisceB. -
A or B: -
Se
Aè truthy, l'espressione è vera e il risultato èA(Python non valutaB); -
Se
Aè falsy, il risultato dipende daBe l'espressione restituisceB. -
not Xrestituisce sempre un valore booleano effettivo:TrueoFalse.
Q2. Quale affermazione corrisponde alla logica classica per "né X né Y"?
A) not X or not Y
B) not (X or Y)
C) not X and Y
D) X and not Y
Q3. Cosa restituisce l'espressione?
username = ""
result = username or "Anonymous"
A) "" B) "Anonymous" C) True D) False
Soluzioni: Q1 → False, False, True; Q2 → B; Q3 → B.
12345678# Using the returned operand behavior + short-circuiting print("" or "Guest") # "Guest" (left falsey → returns right) print("User" or "Guest") # "User" (left truthy → returns left) print(0 and 123) # 0 (left falsey → returns left) print(5 and 123) # 123 (left truthy → returns right) print(not 0, not "hi") # True False
1. Completa gli spazi con True o False. Sia X = True, Y = False.
2. Quale affermazione corrisponde alla logica classica per "né X né Y"?
3. Cosa restituisce l'espressione?
Grazie per i tuoi commenti!