Fundamentos do Python para Iniciantes
Operadores de Comparação e Lógicos
Aprenda sobre operadores de comparação e lógicos
🚀 Operadores de Comparação e Lógicos em Python
Olá, futuro(a) programador(a)! 👋 Nesta aula, vamos mergulhar em um tópico fundamental que nos permite adicionar inteligência e capacidade de tomada de decisão aos nossos programas: os Operadores de Comparação e os Operadores Lógicos.
Pense neles como as ferramentas que o Python usa para fazer perguntas e avaliar condições, retornando sempre uma resposta Verdadeira (True) ou Falsa (False). Dominar esses operadores é o primeiro passo para criar fluxos de controle complexos e programas que reagem de forma dinâmica.
Vamos começar! 🧠
1. Operadores de Comparação (Relacionais)
Os operadores de comparação são usados para comparar dois valores. O resultado de uma comparação é sempre um valor booleano: True (verdadeiro) ou False (falso). Eles são essenciais para verificar se uma condição é atendida.
Aqui estão os principais operadores de comparação em Python:
| Operador | Descrição | Exemplo | Resultado |
|---|---|---|---|
== | Igual a | 5 == 5 | True |
!= | Diferente de | 5 != 6 | True |
> | Maior que | 10 > 5 | True |
< | Menor que | 5 < 10 | True |
>= | Maior ou igual a | 10 >= 10 | True |
<= | Menor ou igual a | 5 <= 5 | True |
Exemplos Práticos:
Vamos ver alguns exemplos de como esses operadores funcionam na prática.
# Definindo algumas variáveis para nossos exemplos
a = 10
b = 20
c = 10
nome1 = "Alice"
nome2 = "Bob"
print(f"a = {a}, b = {b}, c = {c}, nome1 = '{nome1}', nome2 = '{nome2}'\n")
# Operador == (Igual a)
print(f"a == c: {a == c}") # Saída: True (10 é igual a 10)
print(f"a == b: {a == b}") # Saída: False (10 não é igual a 20)
print(f"nome1 == 'Alice': {nome1 == 'Alice'}") # Saída: True
# Operador != (Diferente de)
print(f"a != b: {a != b}") # Saída: True (10 é diferente de 20)
print(f"a != c: {a != c}") # Saída: False (10 não é diferente de 10)
# Operador > (Maior que)
print(f"b > a: {b > a}") # Saída: True (20 é maior que 10)
print(f"a > b: {a > b}") # Saída: False (10 não é maior que 20)
# Operador < (Menor que)
print(f"a < b: {a < b}") # Saída: True (10 é menor que 20)
print(f"b < a: {b < a}") # Saída: False (20 não é menor que 10)
# Operador >= (Maior ou igual a)
print(f"a >= c: {a >= c}") # Saída: True (10 é maior ou igual a 10)
print(f"b >= a: {b >= a}") # Saída: True (20 é maior ou igual a 10)
print(f"a >= b: {a >= b}") # Saída: False (10 não é maior ou igual a 20)
# Operador <= (Menor ou igual a)
print(f"a <= c: {a <= c}") # Saída: True (10 é menor ou igual a 10)
print(f"a <= b: {a <= b}") # Saída: True (10 é menor ou igual a 20)
print(f"b <= a: {b <= a}") # Saída: False (20 não é menor ou igual a 10)Observação: Os operadores de comparação funcionam com diferentes tipos de dados, desde que a comparação faça sentido (números com números, strings com strings, etc.). Comparar tipos incompatíveis pode levar a erros ou resultados inesperados.
2. Operadores Lógicos
Os operadores lógicos são usados para combinar expressões booleanas (ou seja, resultados de comparações) e formar condições mais complexas. Assim como os operadores de comparação, eles também retornam True ou False.
Python possui três operadores lógicos: and, or e not.
and (E Lógico)
O operador and retorna True se ambas as condições forem verdadeiras. Se pelo menos uma for falsa, o resultado será False.
| Condição 1 | Condição 2 | Condição 1 and Condição 2 |
|---|---|---|
True | True | True |
True | False | False |
False | True | False |
False | False | False |
Exemplo:
idade = 25
possui_cnh = True
# A pessoa precisa ter 18 anos ou mais E possuir CNH para dirigir
pode_dirigir = (idade >= 18) and possui_cnh
print(f"Pode dirigir? {pode_dirigir}") # Saída: True
idade = 17
pode_dirigir = (idade >= 18) and possui_cnh
print(f"Pode dirigir (idade 17)? {pode_dirigir}") # Saída: Falseor (OU Lógico)
O operador or retorna True se pelo menos uma das condições for verdadeira. Ele só retorna False se ambas as condições forem falsas.
| Condição 1 | Condição 2 | Condição 1 or Condição 2 |
|---|---|---|
True | True | True |
True | False | True |
False | True | True |
False | False | False |
Exemplo:
tem_passaporte = False
tem_visto = True
# Para viajar, a pessoa precisa ter passaporte OU visto
pode_viajar = tem_passaporte or tem_visto
print(f"Pode viajar? {pode_viajar}") # Saída: True
tem_passaporte = False
tem_visto = False
pode_viajar = tem_passaporte or tem_visto
print(f"Pode viajar (sem passaporte ou visto)? {pode_viajar}") # Saída: Falsenot (NÃO Lógico)
O operador not inverte o valor booleano da condição. Se a condição for True, not a torna False, e vice-versa.
| Condição | not Condição |
|---|---|
True | False |
False | True |
Exemplo:
esta_chovendo = True
# Quero saber se NÃO está chovendo
nao_esta_chovendo = not esta_chovendo
print(f"Não está chovendo? {nao_esta_chovendo}") # Saída: False
esta_chovendo = False
nao_esta_chovendo = not esta_chovendo
print(f"Não está chovendo (agora não)? {nao_esta_chovendo}") # Saída: TrueCombinando Operadores: Precedência
Você pode combinar operadores de comparação e lógicos em uma única expressão. A precedência dos operadores lógicos em Python é: not > and > or. Parenteses () podem ser usados para forçar uma ordem de avaliação diferente, tornando o código mais legível.
Exemplo de combinação:
temperatura = 28
horario = "noite"
esta_nublado = False
# Condição: Está calor (temp > 25) E é dia (horario != "noite") OU NÃO está nublado
# (temperatura > 25 and horario != "noite") or (not esta_nublado)
condicao_complexa = (temperatura > 25 and horario != "noite") or (not esta_nublado)
print(f"Condição complexa (temperatura={temperatura}, horario='{horario}', esta_nublado={esta_nublado}): {condicao_complexa}")
# (28 > 25 AND "noite" != "noite") OR (NOT False)
# (True AND False) OR True
# False OR True
# True
# Mudando o horário para "dia"
horario = "dia"
condicao_complexa = (temperatura > 25 and horario != "noite") or (not esta_nublado)
print(f"Condição complexa (temperatura={temperatura}, horario='{horario}', esta_nublado={esta_nublado}): {condicao_complexa}")
# (28 > 25 AND "dia" != "noite") OR (NOT False)
# (True AND True) OR True
# True OR True
# True💡 Desafio Rápido
Tente prever o resultado das seguintes expressões sem executá-las no Python. Depois, execute para verificar suas respostas!
resultado1 = (10 > 5) and (20 < 15)resultado2 = not ((5 == 5) or (10 != 10))resultado3 = (True or False) and (not False)
📝 Resumo e Próximos Passos
Nesta aula, exploramos os Operadores de Comparação e os Operadores Lógicos.
- Os operadores de comparação (
==,!=,>,<,>=,<=) nos permitem comparar valores e sempre retornamTrueouFalse. - Os operadores lógicos (
and,or,not) nos permitem combinar ou inverter resultados booleanos, construindo condições mais elaboradas.
Dominar esses operadores é crucial, pois eles são a base para a tomada de decisões em qualquer programa. Na próxima aula, veremos como usar esses resultados booleanos em Estruturas Condicionais (if, elif, else), que são as ferramentas que permitem ao seu programa "escolher" qual caminho seguir com base nas condições avaliadas.
Até lá, pratique bastante com os exemplos e tente criar suas próprias expressões! ✨