Trilha de aprendizado · Nível 2 · Tutorial 1

Avaliar condições com comparações

Construir comparações entre valores e prever como números, textos e None são avaliados em um contexto booleano.

  • Nível: Iniciante
  • Duração: 18 min
  • 6 passos
Avaliar condições com comparações

Passo 1 de 6

Comparar valores sem alterá-los

Diferencie atribuição de comparação e preveja o resultado de igualdades numéricas sem alterar os valores comparados.

Associar um valor ou fazer uma pergunta?

Uma comparação é uma expressão que verifica uma relação entre valores. Com ==, a pergunta é: “Os valores são iguais?”. O resultado é True (verdadeiro) ou False (falso).

Não confunda: pontos = 8 associa o valor 8 ao nome pontos; pontos == 8 verifica a igualdade, sem alterar pontos.

Dois painéis: pontos = 8 associa pontos ao valor 8; pontos == 8 compara o valor de pontos com 8 e produz True, mantendo pontos associado a 8.

Um sinal de igual atribui; dois sinais de igual comparam.

Comparando números diretamente

Os comentários mostram o resultado de cada expressão.

python
print(8 == 8)  # True
print(8 == 5)  # False

Escolha o operador

A variável pontos já tem um valor. Complete apenas com o operador que verifica se esse valor é igual a 8:

print(pontos ___ 8)

Guardar o resultado da comparação

Você pode exibir uma comparação com print ou guardar seu resultado em outra variável.

Em atingiu_meta = pontos == meta, primeiro é avaliada a igualdade à direita. Depois, o resultado booleano é associado a atingiu_meta. Os valores de pontos e meta continuam iguais aos de antes.

Comparação entre variáveis

Neste exemplo, a comparação é verdadeira.

python
pontos = 8
meta = 8

atingiu_meta = pontos == meta

print(atingiu_meta)  # True
print(pontos)       # 8
print(meta)         # 8

Dica

Leia atingiu_meta = pontos == meta assim: “Guarde em atingiu_meta o resultado da pergunta: pontos é igual a meta?”

Preveja o resultado

O que este código exibe, na ordem dos três comandos print?

pontos = 6
meta = 8
iguais = pontos == meta
print(iguais)
print(pontos)
print(meta)

Passo 2 de 6

Verificar diferenças e comparar textos

Escolha entre == e != e preveja resultados considerando maiúsculas, espaços e diferenças entre números e textos.

A pergunta pode ser sobre diferença

Você já usou == para perguntar se dois valores são iguais. O operador != pergunta: “Os valores são diferentes?”

Para o mesmo par de números ou textos, essas perguntas têm resultados opostos: se a igualdade resulta em True, a diferença resulta em False, e vice-versa.

Mesmo par, perguntas diferentes

Os comentários mostram os resultados.

python
print(8 == 5)  # False
print(8 != 5)  # True

print(8 == 8)  # True
print(8 != 8)  # False

Escolha o operador

Considere pontos = 6 e meta = 8. Complete apenas com o operador que verifica se a pontuação é diferente da meta:

print(pontos ___ meta)

Textos: cada caractere conta

Com textos, == verifica se o conteúdo é exatamente igual. Maiúsculas e minúsculas são diferentes, e espaços também contam — inclusive no final.

!= verifica o contrário: se há diferença no conteúdo.

A igualdade não converte texto em número: 8 == "8" resulta em False, pois compara um número com um texto.

Compare o conteúdo

Três testes com o operador de igualdade ==. Primeira linha: "Lua" == "Lua" resulta em True, pois os caracteres são idênticos. Segunda linha: "Lua" == "lua" resulta em False, pois L maiúsculo e l minúsculo são diferentes. Terceira linha: "Lua" == "Lua " resulta em False, pois o segundo texto tem um espaço final.

Todas as linhas perguntam se os textos são iguais. A célula extra destacada representa um espaço final.

Igualdade e diferença com textos

python
print("Lua" == "Lua")   # True
print("Lua" != "Lua")   # False

print("Lua" == "lua")   # False
print("Lua" != "lua")   # True

print(8 == "8")         # False
print(8 != "8")         # True

Preveja sem executar

Observe letras, espaços e tipos

Qual é o resultado de cada expressão? Explique o motivo dos resultados de 2, 3 e 4.

  1. "Lua" == "Lua"
  2. "Lua" != "lua"
  3. "Lua" == "Lua " — há um espaço antes da última aspa.
  4. 8 != "8"

Escreva pelo menos 20 caracteres (0/20).

Passo 3 de 6

Comparar números e verificar limites

Escolha entre <, <=, > e >= e descubra quando o valor do limite entra na comparação.

O limite entra ou fica de fora?

Os operadores de ordem verificam a posição de um número em relação a outro:

  • x < 10: x é menor que 10 — menos de 10.
  • x <= 10: x é menor ou igual a 10 — no máximo 10.
  • x > 10: x é maior que 10 — mais de 10.
  • x >= 10: x é maior ou igual a 10 — pelo menos 10.

< e > excluem a igualdade. Já <= e >= incluem o próprio limite: quando x vale 10, essas duas últimas comparações resultam em True.

Quatro maneiras de comparar com 10

Quatro retas numéricas: x < 10 destaca valores à esquerda de 10 com círculo vazio no limite; x <= 10 faz o mesmo com círculo preenchido. x > 10 destaca valores à direita com círculo vazio; x >= 10 usa círculo preenchido.

Círculo vazio: limite excluído. Círculo preenchido: limite incluído. O trecho destacado mostra os valores que tornam cada comparação verdadeira.

Da regra para o operador

Associe cada requisito à comparação correspondente.

Toque em um item e depois no par correspondente.

Abaixo, no limite e acima

Para conferir uma regra, avalie um número abaixo do limite, o próprio limite e um número acima dele. Inteiros e decimais podem ser comparados entre si. No código Python, escreva decimais com ponto, como 9.5.

Mais de 10 ou pelo menos 10?

Os comentários mostram as saídas. A diferença entre as regras aparece exatamente no limite.

python
print(9.5 > 10)    # False
print(9.5 >= 10)   # False

print(10 > 10)     # False
print(10 >= 10)    # True

print(10.5 > 10)   # True
print(10.5 >= 10)  # True

Exemplo

A posição dos números importa

Leia do lado esquerdo para o direito:

  • 8 < 10: “8 é menor que 10” → True.
  • 10 < 8: “10 é menor que 8” → False.
  • 10 > 8: “10 é maior que 8” → True.

Para trocar os números de lado mantendo a mesma relação, inverta também o sentido do operador: 8 <= 10 equivale a 10 >= 8.

Verifique duas regras

Menos de ou no máximo?

Usando a variável pontos, escreva uma comparação para cada regra, separadamente:

  1. Menos de 10 pontos.
  2. No máximo 10 pontos.

Preveja o resultado de cada comparação quando pontos vale 9.5, 10 e 10.5. Explique por que os resultados diferem exatamente no limite.

Escreva pelo menos 30 caracteres (0/30).

Passo 4 de 6

Avaliar números e None com bool

Preveja o resultado de bool para zero, números positivos, números negativos e None.

Avaliar um valor não é comparar dois valores

O que bool faz?

Uma comparação, como -3 > 0, verifica uma relação entre dois valores. Já bool(-3) avalia um único valor e retorna True ou False.

Para os números, a regra é:

  • Zero, inteiro ou decimal, resulta em False.
  • Qualquer número diferente de zero resulta em True, inclusive os negativos.

Negativo também pode resultar em True

Observe o contraste nas duas últimas linhas. Os comentários mostram as saídas.

python
print(bool(0))     # False
print(bool(0.0))   # False
print(bool(2.5))   # True
print(bool(-3))    # True
print(-3 > 0)      # False

Teste a regra dos números

bool(-0.5) retorna True.

None também resulta em False

Mesmo resultado, significados diferentes

bool(None) retorna False.

Isso não transforma None em zero: None representa ausência de valor, enquanto 0 é um valor numérico. A conversão booleana pode produzir o mesmo resultado para valores com significados diferentes.

Agrupe pelo resultado de bool

Diagrama com duas colunas. Na coluna bool → False estão 0, 0.0 e None. Na coluna bool → True estão 4, 2.5, -3 e -0.5.

O agrupamento mostra apenas o resultado de bool, não que os valores sejam iguais.

Preveja os resultados

Qual é a sequência de resultados, nesta ordem?

bool(0.0)
bool(-8)
bool(None)
bool(1.5)

Passo 5 de 6

Distinguir texto vazio de texto não vazio

Preveja o resultado de bool para textos observando a presença de caracteres, não o significado do conteúdo.

Vazio é diferente de invisível

Há algum caractere?

Para textos, a regra de bool é simples:

  • Texto vazio, como "": resulta em False.
  • Qualquer texto não vazio: resulta em True.

Um espaço também é um caractere. Por isso, " " não é um texto vazio, mesmo que pareça não ter nada escrito. As aspas delimitam o texto; elas não fazem parte do conteúdo.

Comparação entre três textos: aspas sem conteúdo resultam em False; um espaço entre aspas resulta em True; as letras oi entre aspas resultam em True. O espaço é destacado como uma posição ocupada.

O espaço foi destacado para ficar visível: ele conta como conteúdo.

Identifique o texto vazio

Qual expressão resulta em False?

O conteúdo não é interpretado

As aspas mudam o valor avaliado

O número 0 e o texto "0" são valores de tipos diferentes. O mesmo vale para o booleano False e o texto "False". Ao receber um texto, bool verifica se ele está vazio, sem interpretar o que está escrito.

Compare os resultados

Os comentários indicam o resultado de cada linha.

python
print(bool(0))        # False
print(bool("0"))      # True

print(bool(False))    # False
print(bool("False"))  # True

Atenção

True não significa conteúdo válido

bool("False") resulta em True porque há caracteres. Da mesma forma, bool(" ") ser True não garante que o texto seja um nome válido ou uma resposta útil. Essa conversão não valida o conteúdo.

Preveja e explique

Preveja os resultados, nesta ordem:

  1. bool("")
  2. bool(" ")
  3. bool("0")
  4. bool("False")

Explique em uma frase por que os três últimos têm o mesmo resultado.

Escreva pelo menos 30 caracteres (0/30).

Passo 6 de 6

Aplicar comparações e revisar resultados

Escolha comparações, preveja as saídas de um programa e confira como elas mudam ao alterar números e textos.

Escolha a comparação

Da regra para o código

Associe cada verificação à expressão que a representa.

Toque em um item e depois no par correspondente.

Preveja antes de executar

O programa abaixo faz verificações independentes, uma após a outra. Antes de executá-lo, preveja as saídas. Nenhuma dessas verificações altera os dados nem escolhe um caminho no programa.

Programa completo

python
pontos = 10
meta = 10
apelido = "Lua"
valor_ausente = None

print(f"Igual à meta: {pontos == meta}")
print(f"Diferente da meta: {pontos != meta}")
print(f"Abaixo da meta: {pontos < meta}")
print(f"No máximo a meta: {pontos <= meta}")
print(f"Acima da meta: {pontos > meta}")
print(f"Pelo menos a meta: {pontos >= meta}")
print(f"bool de pontos: {bool(pontos)}")
print(f"bool de apelido: {bool(apelido)}")
print(f"bool de valor ausente: {bool(valor_ausente)}")

Sua previsão

Quais são os nove resultados booleanos exibidos, na ordem? Explique por que “Acima da meta” e “Pelo menos a meta” têm resultados diferentes.

Escreva pelo menos 30 caracteres (0/30).

Execute e altere os dados

Confira no seu computador

Salve o código completo da tela anterior como comparacoes.py no seu editor e execute com seu Python 3. Compare a primeira saída com sua previsão.

Depois, faça mais duas execuções, alterando apenas as atribuições iniciais:

  • Execução 2: pontos = 9 e apelido = "".
  • Execução 3: pontos = 11 e apelido = "0".

Mantenha meta = 10, valor_ausente = None e todos os comandos print. Salve o arquivo antes de cada execução.

Três execuções, duas mudanças

Plano das três execuções. Na primeira, pontos vale 10 e apelido é "Lua"; na segunda, pontos vale 9 e apelido é o texto vazio ""; na terceira, pontos vale 11 e apelido é o texto "0". Em todas, meta permanece 10 e valor_ausente permanece None. Nenhum resultado booleano é mostrado.

Mudam apenas pontos e apelido. A meta, o valor ausente e as verificações permanecem iguais.

Relate o que mudou

Após executar, registre para cada cenário os resultados de “Acima da meta”, “Pelo menos a meta” e “bool de apelido”. O que aconteceu com “bool de pontos” e “bool de valor ausente”? Explique por que o apelido "0" produz o resultado observado.

Escreva pelo menos 60 caracteres (0/60).

Revisão final

Resumo

Atribuir, comparar e avaliar

Você já consegue escrever e conferir condições individuais em Python.

  • = associa um valor a um nome; == compara valores sem alterá-los.
  • == e != verificam igualdade e diferença. Em textos, maiúsculas, minúsculas e espaços contam.
  • < e > excluem o limite; <= e >= incluem a igualdade. Confira valores abaixo, no limite e acima.
  • bool avalia um valor: zero, texto vazio e None resultam em False; números diferentes de zero e textos não vazios resultam em True.
  • Textos como "0", "False" e " " resultam em True: bool não interpreta nem valida seu conteúdo.
  • As verificações deste programa produzem resultados booleanos, mas ainda não controlam o fluxo de execução.

Tutorial concluído

Parabéns! Você concluiu: Avaliar condições com comparações

Você praticou como escolher operadores, prever resultados e conferir limites no seu computador. No próximo tutorial, aprenderá a combinar condições.

Baixe o Aplicativo agora para ter acesso a + de 5000 cursos gratuitos, exercícios, certificado e muito conteúdo sem pagar nada!

  • Cursos online 100% gratuitos do início ao fim

    Milhares de cursos online em vídeo, ebooks e áudiobooks.

  • Mais de 60 mil exercícios gratuitos

    Para testar seus conhecimentos no decorrer dos cursos online

  • Certificado Digital gratuito válido em todo o Brasil

    Gerado diretamente na galeria de fotos do seu celular e enviado ao seu e-mail

Aplicativo Cursa na tela de ebook, na tela de curso em vídeo e na tela de exercícios do curso, mais o certificado de conclusão de curso