Operadores Lógicos
As pessoas dizem "sim e sim", "sim ou não", "definitivamente não". Em Python, os operadores lógicos and, or e not expressam essas ideias formalmente e produzem valores Booleanos (True/False) que você utilizará com comparações em if/while.
Significado de cada operador
Precedência
not possui maior precedência que and, que por sua vez possui maior precedência que or (not > and > or). Utilize parênteses em caso de dúvida.
Por exemplo, age >= 18 and has_id é True apenas se ambas as verificações forem verdadeiras:
123age = 21 has_id = True print(age >= 18 and has_id) # True
Tabela verdade
Uma tabela verdade lista todos os possíveis valores lógicos das entradas e mostra o resultado de uma expressão lógica. É uma forma compacta de analisar lógica sem executar o código.
Usando a tabela
Se X é False e Y é True, então X and Y é False, X or Y é True e not X é True.
Valores de retorno e avaliação de curto-circuito (juntos)
and e or nem sempre retornam as palavras True/False; eles retornam um de seus operandos, e o Python pode interromper a avaliação assim que o resultado for conhecido.
-
A and B: -
Se
Aé falso, toda a expressão é falsa e o resultado éA(Python não avaliaB); -
Se
Aé verdadeiro, o resultado depende deBe a expressão é avaliada comoB. -
A or B: -
Se
Aé verdadeiro, a expressão é verdadeira e o resultado éA(Python não avaliaB); -
Se
Aé falso, o resultado depende deBe a expressão é avaliada comoB. -
not Xsempre retorna um valor Booleano real:TrueouFalse.
Q2. Qual afirmação corresponde à lógica clássica para "nem X nem Y"?
A) not X or not Y
B) not (X or Y)
C) not X and Y
D) X and not Y
Q3. O que a expressão retorna?
username = ""
result = username or "Anonymous"
A) "" B) "Anonymous" C) True D) False
Gabarito: 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. Preencha os espaços com True ou False. Considere X = True, Y = False.
2. Qual afirmação corresponde à lógica clássica para "nem X nem Y"?
3. O que a expressão retorna?
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
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
Operadores Lógicos
Deslize para mostrar o menu
As pessoas dizem "sim e sim", "sim ou não", "definitivamente não". Em Python, os operadores lógicos and, or e not expressam essas ideias formalmente e produzem valores Booleanos (True/False) que você utilizará com comparações em if/while.
Significado de cada operador
Precedência
not possui maior precedência que and, que por sua vez possui maior precedência que or (not > and > or). Utilize parênteses em caso de dúvida.
Por exemplo, age >= 18 and has_id é True apenas se ambas as verificações forem verdadeiras:
123age = 21 has_id = True print(age >= 18 and has_id) # True
Tabela verdade
Uma tabela verdade lista todos os possíveis valores lógicos das entradas e mostra o resultado de uma expressão lógica. É uma forma compacta de analisar lógica sem executar o código.
Usando a tabela
Se X é False e Y é True, então X and Y é False, X or Y é True e not X é True.
Valores de retorno e avaliação de curto-circuito (juntos)
and e or nem sempre retornam as palavras True/False; eles retornam um de seus operandos, e o Python pode interromper a avaliação assim que o resultado for conhecido.
-
A and B: -
Se
Aé falso, toda a expressão é falsa e o resultado éA(Python não avaliaB); -
Se
Aé verdadeiro, o resultado depende deBe a expressão é avaliada comoB. -
A or B: -
Se
Aé verdadeiro, a expressão é verdadeira e o resultado éA(Python não avaliaB); -
Se
Aé falso, o resultado depende deBe a expressão é avaliada comoB. -
not Xsempre retorna um valor Booleano real:TrueouFalse.
Q2. Qual afirmação corresponde à lógica clássica para "nem X nem Y"?
A) not X or not Y
B) not (X or Y)
C) not X and Y
D) X and not Y
Q3. O que a expressão retorna?
username = ""
result = username or "Anonymous"
A) "" B) "Anonymous" C) True D) False
Gabarito: 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. Preencha os espaços com True ou False. Considere X = True, Y = False.
2. Qual afirmação corresponde à lógica clássica para "nem X nem Y"?
3. O que a expressão retorna?
Obrigado pelo seu feedback!