Operadores 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.
12print(5 == 5) # True print("apple" == "Apple") # False (case matters)
=
atribui um valor a uma variável, enquanto ==
compara dois valores.
Desigualdade — !=
Verifica se dois valores são diferentes.
12print(5 != 3) # True print("cat" != "cat") # False
Maior que — >
Verdadeiro se o valor à esquerda for estritamente maior que o valor à direita.
12print(7 > 9) # False print(12 > 3) # True
Menor que — <
Verdadeiro se o valor à esquerda for estritamente menor que o valor à direita.
12print(2 < 10) # True print("a" < "b") # True (lexicographic order)
Maior ou igual — >=
Verdadeiro se o valor à esquerda for maior ou igual ao valor à direita.
12print(7 >= 7) # True print(4 >= 9) # False
Menor ou Igual — <=
Verdadeiro se o valor à esquerda for menor ou igual ao valor à direita.
12print(10 <= 9) # False print(5 <= 5) # True
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)
.
123x = 7 print(0 < x < 10) # True print(5 <= x <= 7) # True
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.
1print(0.1 + 0.2 == 0.3) # False in many environments
Ao comparar números de ponto flutuante para "igualdade", prefira uma verificação com tolerância.
12import math print(math.isclose(0.1 + 0.2, 0.3, rel_tol=1e-9)) # True
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).
12print("apple" == "Apple") # False (case matters) print("apple" < "banana") # True ("a" comes before "b")
Para verificações sem distinção entre maiúsculas e minúsculas, normalize ambos os lados primeiro.
12s1, s2 = "Hello", "heLLo" print(s1.lower() == s2.lower()) # True
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?
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 5
Operadores 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.
12print(5 == 5) # True print("apple" == "Apple") # False (case matters)
=
atribui um valor a uma variável, enquanto ==
compara dois valores.
Desigualdade — !=
Verifica se dois valores são diferentes.
12print(5 != 3) # True print("cat" != "cat") # False
Maior que — >
Verdadeiro se o valor à esquerda for estritamente maior que o valor à direita.
12print(7 > 9) # False print(12 > 3) # True
Menor que — <
Verdadeiro se o valor à esquerda for estritamente menor que o valor à direita.
12print(2 < 10) # True print("a" < "b") # True (lexicographic order)
Maior ou igual — >=
Verdadeiro se o valor à esquerda for maior ou igual ao valor à direita.
12print(7 >= 7) # True print(4 >= 9) # False
Menor ou Igual — <=
Verdadeiro se o valor à esquerda for menor ou igual ao valor à direita.
12print(10 <= 9) # False print(5 <= 5) # True
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)
.
123x = 7 print(0 < x < 10) # True print(5 <= x <= 7) # True
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.
1print(0.1 + 0.2 == 0.3) # False in many environments
Ao comparar números de ponto flutuante para "igualdade", prefira uma verificação com tolerância.
12import math print(math.isclose(0.1 + 0.2, 0.3, rel_tol=1e-9)) # True
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).
12print("apple" == "Apple") # False (case matters) print("apple" < "banana") # True ("a" comes before "b")
Para verificações sem distinção entre maiúsculas e minúsculas, normalize ambos os lados primeiro.
12s1, s2 = "Hello", "heLLo" print(s1.lower() == s2.lower()) # True
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?
Obrigado pelo seu feedback!