Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Operadores Lógicos | Booleanos e Comparações
Tipos de Dados em Python

bookOperadores 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:

123
age = 21 has_id = True print(age >= 18 and has_id) # True
copy

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 avalia B);

  • Se A é verdadeiro, o resultado depende de B e a expressão é avaliada como B.

  • A or B:

  • Se A é verdadeiro, a expressão é verdadeira e o resultado é A (Python não avalia B);

  • Se A é falso, o resultado depende de B e a expressão é avaliada como B.

  • not X sempre retorna um valor Booleano real: True ou False.

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
copy

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?

question-icon

Preencha os espaços com True ou False. Considere X = True, Y = False.

X and Y
not X

X or Y

question mark

Qual afirmação corresponde à lógica clássica para "nem X nem Y"?

Select the correct answer

question mark

O que a expressão retorna?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 4

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Suggested prompts:

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

bookOperadores 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:

123
age = 21 has_id = True print(age >= 18 and has_id) # True
copy

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 avalia B);

  • Se A é verdadeiro, o resultado depende de B e a expressão é avaliada como B.

  • A or B:

  • Se A é verdadeiro, a expressão é verdadeira e o resultado é A (Python não avalia B);

  • Se A é falso, o resultado depende de B e a expressão é avaliada como B.

  • not X sempre retorna um valor Booleano real: True ou False.

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
copy

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?

question-icon

Preencha os espaços com True ou False. Considere X = True, Y = False.

X and Y
not X

X or Y

question mark

Qual afirmação corresponde à lógica clássica para "nem X nem Y"?

Select the correct answer

question mark

O que a expressão retorna?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 4
some-alt