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 serão utilizados 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 for False e Y for True, então X and Y é False, X or Y é True e not X é True.
Valores de Retorno & Curto-circuito (Juntos)
and e or nem sempre retornam as palavras True/False, eles retornam um de seus operandos, e o Python pode parar a avaliação assim que o resultado for conhecido.
-
A and B: -
Se
Afor falso, toda a expressão é falsa e o resultado éA(Python não avaliaB); -
Se
Afor verdadeiro, o resultado depende deBe a expressão é avaliada paraB. -
A or B: -
Se
Afor verdadeiro, a expressão é verdadeira e o resultado éA(Python não avaliaB); -
Se
Afor falso, o resultado depende deBe a expressão é avaliada paraB. -
not Xsempre retorna um valor Booleano real:TrueouFalse.
1234567891011121314151617# Choosing a display name for a user profile username = "" # user didn't set a custom name print(username or "Guest") # "Guest" → fallback to default name username = "Alice" print(username or "Guest") # "Alice" → custom name is used # Checking login attempts and access permissions login_attempts = 0 access_level = 123 print(login_attempts and access_level) # 0 → login not yet attempted login_attempts = 5 print(login_attempts and access_level) # 123 → user has access after attempts # Checking empty and non-empty values print(not 0, not "Hello") # True False → 0 is falsey, non-empty string is truthy
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
Awesome!
Completion rate improved to 3.45
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 serão utilizados 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 for False e Y for True, então X and Y é False, X or Y é True e not X é True.
Valores de Retorno & Curto-circuito (Juntos)
and e or nem sempre retornam as palavras True/False, eles retornam um de seus operandos, e o Python pode parar a avaliação assim que o resultado for conhecido.
-
A and B: -
Se
Afor falso, toda a expressão é falsa e o resultado éA(Python não avaliaB); -
Se
Afor verdadeiro, o resultado depende deBe a expressão é avaliada paraB. -
A or B: -
Se
Afor verdadeiro, a expressão é verdadeira e o resultado éA(Python não avaliaB); -
Se
Afor falso, o resultado depende deBe a expressão é avaliada paraB. -
not Xsempre retorna um valor Booleano real:TrueouFalse.
1234567891011121314151617# Choosing a display name for a user profile username = "" # user didn't set a custom name print(username or "Guest") # "Guest" → fallback to default name username = "Alice" print(username or "Guest") # "Alice" → custom name is used # Checking login attempts and access permissions login_attempts = 0 access_level = 123 print(login_attempts and access_level) # 0 → login not yet attempted login_attempts = 5 print(login_attempts and access_level) # 123 → user has access after attempts # Checking empty and non-empty values print(not 0, not "Hello") # True False → 0 is falsey, non-empty string is truthy
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!