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

bookOperadores de Comparação

Comparações permitem que seu programa faça perguntas de sim/não sobre valores:

  • Estes são iguais?
  • Este é maior?
  • Este número está dentro de um intervalo?

Uma comparação retorna um Booleano (True ou False) e é a base da lógica if/while.

O essencial

Python fornece seis operadores de comparação (==, !=, <, <=, >, >=) para testar igualdade e ordem entre valores; cada comparação resulta em True ou False.

Igualdade — ==

Verifica se dois valores são iguais.

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

= atribui um valor a uma variável, enquanto == compara dois valores.

Desigualdade — !=

Verifica se dois valores são diferentes.

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

Maior que — >

Verdadeiro se o valor à esquerda for estritamente maior que o valor à direita.

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

Menor que — <

Verdadeiro se o valor à esquerda for estritamente menor que o valor à direita.

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

Maior ou igual — >=

Verdadeiro se o valor à esquerda for maior ou igual ao valor à direita.

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

Menor ou Igual — <=

Verdadeiro se o valor à esquerda for menor ou igual ao valor à direita.

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

Comparações encadeadas

Python permite escrever intervalos de forma natural: 0 < x < 10 significa "x é maior que 0 e menor que 10". Internamente, isso se comporta como (0 < x) and (x < 10).

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

Essa sintaxe é clara e evita a repetição de x.

Nuance de ponto flutuante (pequenos erros de arredondamento)

Alguns decimais (como 0.1) não podem ser representados exatamente em binário. Por isso, a igualdade estrita em números de ponto flutuante pode causar surpresas.

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

Ao comparar números de ponto flutuante para "igualdade", prefira uma verificação com tolerância.

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

Não se está afirmando "exatamente igual", mas sim "suficientemente próximo".

Comparação de strings (maiúsculas/minúsculas e ordem)

As comparações de strings são sensíveis a maiúsculas/minúsculas e lexicográficas (caractere por caractere na ordem Unicode).

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

Para verificações sem distinção entre maiúsculas e minúsculas, normalize ambos os lados primeiro.

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

1. Preencha os espaços com True ou False:

2. Qual expressão única verifica corretamente se x está entre 1 e 5 inclusive (usando encadeamento)?

3. Qual comparação de strings é True?

question-icon

Preencha os espaços com True ou False:

5 == 5
3 < 2

9 >= 9

"A" == "a"

0 < 7 <= 7

Clique ou arraste solte itens e preencha os espaços

question mark

Qual expressão única verifica corretamente se x está entre 1 e 5 inclusive (usando encadeamento)?

Select the correct answer

question mark

Qual comparação de strings é True?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 2

Pergunte à IA

expand

Pergunte à IA

ChatGPT

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

Awesome!

Completion rate improved to 5

bookOperadores de Comparação

Deslize para mostrar o menu

Comparações permitem que seu programa faça perguntas de sim/não sobre valores:

  • Estes são iguais?
  • Este é maior?
  • Este número está dentro de um intervalo?

Uma comparação retorna um Booleano (True ou False) e é a base da lógica if/while.

O essencial

Python fornece seis operadores de comparação (==, !=, <, <=, >, >=) para testar igualdade e ordem entre valores; cada comparação resulta em True ou False.

Igualdade — ==

Verifica se dois valores são iguais.

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

= atribui um valor a uma variável, enquanto == compara dois valores.

Desigualdade — !=

Verifica se dois valores são diferentes.

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

Maior que — >

Verdadeiro se o valor à esquerda for estritamente maior que o valor à direita.

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

Menor que — <

Verdadeiro se o valor à esquerda for estritamente menor que o valor à direita.

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

Maior ou igual — >=

Verdadeiro se o valor à esquerda for maior ou igual ao valor à direita.

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

Menor ou Igual — <=

Verdadeiro se o valor à esquerda for menor ou igual ao valor à direita.

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

Comparações encadeadas

Python permite escrever intervalos de forma natural: 0 < x < 10 significa "x é maior que 0 e menor que 10". Internamente, isso se comporta como (0 < x) and (x < 10).

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

Essa sintaxe é clara e evita a repetição de x.

Nuance de ponto flutuante (pequenos erros de arredondamento)

Alguns decimais (como 0.1) não podem ser representados exatamente em binário. Por isso, a igualdade estrita em números de ponto flutuante pode causar surpresas.

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

Ao comparar números de ponto flutuante para "igualdade", prefira uma verificação com tolerância.

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

Não se está afirmando "exatamente igual", mas sim "suficientemente próximo".

Comparação de strings (maiúsculas/minúsculas e ordem)

As comparações de strings são sensíveis a maiúsculas/minúsculas e lexicográficas (caractere por caractere na ordem Unicode).

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

Para verificações sem distinção entre maiúsculas e minúsculas, normalize ambos os lados primeiro.

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

1. Preencha os espaços com True ou False:

2. Qual expressão única verifica corretamente se x está entre 1 e 5 inclusive (usando encadeamento)?

3. Qual comparação de strings é True?

question-icon

Preencha os espaços com True ou False:

5 == 5
3 < 2

9 >= 9

"A" == "a"

0 < 7 <= 7

Clique ou arraste solte itens e preencha os espaços

question mark

Qual expressão única verifica corretamente se x está entre 1 e 5 inclusive (usando encadeamento)?

Select the correct answer

question mark

Qual comparação de strings é True?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

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