Python — Lição 2: Condições e Tomada de Decisões

Tempo de leitura: 8 min

Escrito por blackzig
em 05/09/2026

Segunda lição de Python: aprenda comparações, valores booleanos, if, elif, else, operadores lógicos e como fazer programas tomarem decisões.

Python lição 2: Nesta lição, você vai aprender a fazer o programa tomar decisões.

Até agora, nosso código executava uma sequência fixa. Agora vamos ensinar o Python a responder perguntas como:

  • o usuário é maior de idade?
  • a senha está correta?
  • o número é positivo?
  • a nota foi suficiente para aprovação?
  • o número é par ou ímpar?

Nesta segunda lição, você aprenderá:

  • operadores de comparação;
  • valores booleanos;

  • if;

  • elif;

  • else;
  • operadores lógicos;
  • condições compostas;
  • condições aninhadas;
  • validação de entradas;
  • exercícios práticos.

2. Valores booleanos

Na lição anterior, vimos o tipo:

bool

Ele possui apenas dois valores:

True
False

Exemplo:

idade = 20

print(idade >= 18)

Resultado:

True

Porque 20 realmente é maior ou igual a 18.

Agora:

idade = 15

print(idade >= 18)

Resultado:

False

Esses valores são a base das decisões em programação.

3. Operadores de comparação

Python possui operadores para comparar valores.

OperadorSignificado
==igual
!=diferente
>maior que
<menor que
>=maior ou igual
<=menor ou igual

Exemplo:

idade = 20

print(idade == 20)
print(idade != 20)
print(idade > 18)
print(idade < 18)
print(idade >= 20)
print(idade <= 20)

Resultado:

True
False
True
False
True
True

4. Atenção: = não é ==

Esse é um dos erros mais comuns de iniciantes.

Um único = significa:

idade = 20

atribua 20 à variável idade.

Já:

idade == 20

significa:

idade é igual a 20?

Portanto:

=   atribuição
==  comparação

Essa diferença é fundamental.

5. Conhecendo o if

if significa aproximadamente:

se

Exemplo:

idade = 20

if idade >= 18:
    print("Você é maior de idade.")

Python verifica:

idade >= 18

Se o resultado for:

True

executa:

print("Você é maior de idade.")

Se for False, essa linha é ignorada.

6. A indentação é obrigatória

Observe:

if idade >= 18:
    print("Você é maior de idade.")

O espaço antes de:

print()

é chamado de indentação.

Python usa a indentação para identificar quais linhas pertencem ao if.

Errado:

if idade >= 18:
print("Você é maior de idade.")

Correto:

if idade >= 18:
    print("Você é maior de idade.")

Normalmente usamos quatro espaços por nível de indentação.

7. if + else

Agora podemos dizer:

se isso acontecer, faça uma coisa; caso contrário, faça outra.

idade = int(input("Digite sua idade: "))

if idade >= 18:
    print("Você é maior de idade.")
else:
    print("Você é menor de idade.")

Se o usuário digitar 20, o resultado será:

Você é maior de idade.

Se digitar 15:

Você é menor de idade.

8. Fluxo mental do if

Leia este código:

idade = 17

if idade >= 18:
    print("Adulto")
else:
    print("Menor")

O computador pensa aproximadamente assim:

idade é maior ou igual a 18?
        |
       não
        |
      Menor

Se a idade fosse 25:

idade é maior ou igual a 18?
        |
       sim
        |
      Adulto

9. Conhecendo o elif

Às vezes existem mais de duas possibilidades.

nota = 7

if nota >= 9:
    print("Excelente")
elif nota >= 7:
    print("Aprovado")
elif nota >= 5:
    print("Recuperação")
else:
    print("Reprovado")

Resultado:

Aprovado

elif significa aproximadamente:

caso contrário, se…

Python testa as condições de cima para baixo.

10. A ordem das condições importa

Observe:

nota = 10

if nota >= 5:
    print("Aprovado")
elif nota >= 9:
    print("Excelente")

Resultado:

Aprovado

Mesmo a nota sendo 10.

Isso acontece porque Python encontrou primeiro nota >= 5, que é verdadeiro. Depois disso, ignora os demais elif.

Uma versão melhor:

if nota >= 9:
    print("Excelente")
elif nota >= 7:
    print("Aprovado")
elif nota >= 5:
    print("Recuperação")
else:
    print("Reprovado")

Coloque condições mais específicas antes das mais gerais.

11. Verificando se um número é par

Na lição anterior, aprendemos o operador %.

Agora podemos usá-lo com if:

numero = int(input("Digite um número: "))

if numero % 2 == 0:
    print("O número é par.")
else:
    print("O número é ímpar.")

Se o usuário digitar 8, o resto de 8 % 2 será 0. Logo, o número é par.

12. Comparando textos

Também podemos comparar strings.

senha = input("Digite a senha: ")

if senha == "python123":
    print("Acesso permitido.")
else:
    print("Senha incorreta.")

Python diferencia letras maiúsculas de minúsculas. Portanto:

python123

é diferente de:

Python123

13. Operador and

and significa:

e

As duas condições precisam ser verdadeiras.

idade = 25
tem_carteira = True

if idade >= 18 and tem_carteira:
    print("Pode dirigir.")

14. Operador or

or significa:

ou

Basta uma condição ser verdadeira.

dia = "sábado"

if dia == "sábado" or dia == "domingo":
    print("É fim de semana.")

15. Operador not

not significa:

não

Ele inverte um valor booleano.

logado = False

print(not logado)

Resultado:

True

Também podemos escrever:

logado = False

if not logado:
    print("Faça login.")

16. Tabela lógica do and

True  and True  -> True
True  and False -> False
False and True  -> False
False and False -> False

Com and, tudo precisa ser verdadeiro.

17. Tabela lógica do or

True  or True  -> True
True  or False -> True
False or True  -> True
False or False -> False

Com or, basta uma condição verdadeira.

18. Exemplo completo: entrada em um evento

idade = int(input("Digite sua idade: "))
tem_ingresso = input("Possui ingresso? (sim/não): ")

if idade >= 18 and tem_ingresso == "sim":
    print("Entrada liberada.")
else:
    print("Entrada negada.")

Para entrar, as duas condições precisam ser atendidas:

  • ter 18 anos ou mais;
  • possuir ingresso.

19. Condições dentro de condições

Também podemos colocar um if dentro de outro.

Isso é chamado de condição aninhada.

idade = int(input("Digite sua idade: "))

if idade >= 18:
    possui_carteira = input("Possui carteira? ")

    if possui_carteira == "sim":
        print("Você pode dirigir.")
    else:
        print("Você é maior de idade, mas não possui carteira.")
else:
    print("Você ainda é menor de idade.")

Isso funciona, mas nem sempre é a forma mais simples.

Muitas vezes podemos substituir condições aninhadas por condições compostas usando and.

20. Programa: classificador de número

numero = float(input("Digite um número: "))

if numero > 0:
    print("Número positivo.")
elif numero < 0:
    print("Número negativo.")
else:
    print("O número é zero.")

Aqui temos três possibilidades:

  • positivo;
  • negativo;
  • zero.

21. Programa: sistema de notas

nota = float(input("Digite sua nota: "))

if nota >= 9:
    print("Excelente!")
elif nota >= 7:
    print("Aprovado.")
elif nota >= 5:
    print("Recuperação.")
else:
    print("Reprovado.")

Mas existe um problema: o usuário poderia digitar 200 ou -50.

Podemos melhorar:

nota = float(input("Digite sua nota: "))

if nota < 0 or nota > 10:
    print("Nota inválida.")
elif nota >= 9:
    print("Excelente!")
elif nota >= 7:
    print("Aprovado.")
elif nota >= 5:
    print("Recuperação.")
else:
    print("Reprovado.")

Agora o programa trata entradas fora do intervalo permitido.

Não pense apenas no caminho correto; pense também no que pode dar errado.

22. Programa: login simples

usuario = input("Usuário: ")
senha = input("Senha: ")

if usuario == "admin" and senha == "1234":
    print("Login realizado com sucesso.")
else:
    print("Usuário ou senha incorretos.")

As duas condições precisam ser verdadeiras.

23. Um detalhe sobre booleanos

Você não precisa escrever:

if ativo == True:
    print("Ativo")

Pode escrever:

if ativo:
    print("Ativo")

Da mesma forma:

if ativo == False:

pode ser:

if not ativo:

Isso deixa o código mais limpo e natural em Python.

24. Exercícios

Resolva os exercícios antes de pedir a solução.

1. Maior de idade

Peça a idade do usuário.

Mostre:

Maior de idade.

ou:

Menor de idade.

2. Par ou ímpar

Peça um número inteiro e descubra se ele é par ou ímpar.

Use:

%

3. Positivo, negativo ou zero

Peça um número e mostre se ele é:

  • positivo;
  • negativo;
  • zero.

4. Maior número

Peça dois números e mostre qual deles é maior.

Exemplo:

Primeiro número: 10
Segundo número: 25

25 é o maior número.

Pense também no caso em que os dois são iguais.

5. Aprovação

Peça uma nota de 0 a 10.

Regras:

nota >= 7      -> aprovado
nota >= 5      -> recuperação
nota < 5       -> reprovado

Também trate notas inválidas.

25. Desafio — Sistema de acesso

Crie um programa que peça:

  • idade;
  • se a pessoa possui ingresso.

A pessoa só pode entrar se tiver 18 anos ou mais e possuir ingresso.

Exemplo:

Idade: 22
Possui ingresso? sim

Entrada liberada.

Outro exemplo:

Idade: 16
Possui ingresso? sim

Entrada negada.

26. Desafio avançado — Calculadora inteligente

Peça:

  • primeiro número;
  • segundo número;
  • operação.

O usuário poderá escolher:

+
-
*
/

Exemplo:

Primeiro número: 10
Segundo número: 2
Operação: *

Resultado: 20

Use if, elif e else.

Lembre-se de tratar um problema importante:

10 / 0

Divisão por zero não é permitida.

Seu programa deve impedir isso.

Meta antes da Lição 3

Antes de avançar, você deve entender muito bem:

==
!=
>
<
>=
<=

e conseguir usar:

if
elif
else

Além de:

and
or
not

Você também deve conseguir explicar por que este código funciona:

idade = int(input("Idade: "))
tem_ingresso = input("Tem ingresso? ")

if idade >= 18 and tem_ingresso == "sim":
    print("Entrada permitida.")
else:
    print("Entrada negada.")

E, mais importante, deve entender a ideia central desta lição:

Programas podem escolher caminhos diferentes dependendo dos dados e das condições.

Quando esses fundamentos estiverem sólidos, a próxima etapa será a Lição 3, com loops e repetição, usando while, for e range() para fazer o computador repetir tarefas sem duplicar código.

Veja também: mais conteúdos sobre Python.

Python Level 1 – O Básico que funciona (Jogos, python e IA) (Portuguese Edition)

Python Level 1 – O Básico que funciona (Jogos, python e IA) (Portuguese Edition)

⭐ 5.0/5

Python Level 1 - O Básico que funciona (Jogos, python e IA) (Portuguese Edition). Produto recomendado para estudos, programação e produtividade.

R$ 54,18
Ver na Amazon Como afiliado, posso receber comissão por compras qualificadas.

Você vai gostar também:

Damos valor à sua privacidade

Nós e os nossos parceiros armazenamos ou acedemos a informações dos dispositivos, tais como cookies, e processamos dados pessoais, tais como identificadores exclusivos e informações padrão enviadas pelos dispositivos, para as finalidades descritas abaixo. Poderá clicar para consentir o processamento por nossa parte e pela parte dos nossos parceiros para tais finalidades. Em alternativa, poderá clicar para recusar o consentimento, ou aceder a informações mais pormenorizadas e alterar as suas preferências antes de dar consentimento. As suas preferências serão aplicadas apenas a este website.

Cookies estritamente necessários

Estes cookies são necessários para que o website funcione e não podem ser desligados nos nossos sistemas. Normalmente, eles só são configurados em resposta a ações levadas a cabo por si e que correspondem a uma solicitação de serviços, tais como definir as suas preferências de privacidade, iniciar sessão ou preencher formulários. Pode configurar o seu navegador para bloquear ou alertá-lo(a) sobre esses cookies, mas algumas partes do website não funcionarão. Estes cookies não armazenam qualquer informação pessoal identificável.

Cookies de desempenho

Estes cookies permitem-nos contar visitas e fontes de tráfego, para que possamos medir e melhorar o desempenho do nosso website. Eles ajudam-nos a saber quais são as páginas mais e menos populares e a ver como os visitantes se movimentam pelo website. Todas as informações recolhidas por estes cookies são agregadas e, por conseguinte, anónimas. Se não permitir estes cookies, não saberemos quando visitou o nosso site.

Cookies de funcionalidade

Estes cookies permitem que o site forneça uma funcionalidade e personalização melhoradas. Podem ser estabelecidos por nós ou por fornecedores externos cujos serviços adicionámos às nossas páginas. Se não permitir estes cookies algumas destas funcionalidades, ou mesmo todas, podem não atuar corretamente.

Cookies de publicidade

Estes cookies podem ser estabelecidos através do nosso site pelos nossos parceiros de publicidade. Podem ser usados por essas empresas para construir um perfil sobre os seus interesses e mostrar-lhe anúncios relevantes em outros websites. Eles não armazenam diretamente informações pessoais, mas são baseados na identificação exclusiva do seu navegador e dispositivo de internet. Se não permitir estes cookies, terá menos publicidade direcionada.

Visite as nossas páginas de Políticas de privacidade e Termos e condições.

Importante: Este site faz uso de cookies que podem conter informações de rastreamento sobre os visitantes.
Criado por WP RGPD Pro