🌗 ← Índice

🐍 Python P02 — Condicionais


Data: 11/06/2026

Nível: Básico




if, elif, else, operadores de comparação e lógicos. Faça seu programa tomar decisões inteligentes.




O que vamos aprender


  • `if`, `elif`, `else` — estrutura condicional completa
  • Comparações — `==`, `!=`, `>`, `<`, `>=`, `<=`
  • Operadores lógicos — `and`, `or`, `not`
  • Aninhamento de condicionais
  • Exemplos práticos com agendamento e regras de negócio



  • 🧠 if / elif / else


    A estrutura condicional mais básica: se algo for verdadeiro, faça X; senão, faça Y.


    
    idade = 17
    
    if idade >= 18:
        print("Pode entrar na barbearia sozinho.")
    else:
        print("Precisa vir acompanhado.")
    

    ▶ Saída:

    
    Precisa vir acompanhado.
    

    💡 Regra de ouro: Dois pontos : no final + indentação de 4 espaços (PEP 8).




    🔍 Comparações


    OperadorSignificadoExemploResultado

    |----------|-------------|---------|-----------|

    `==`Igual`5 == 5``True`
    `!=`Diferente`5 != 3``True`
    `>`Maior que`10 > 5``True`
    `<`Menor que`10 < 5``False`
    `>=`Maior ou igual`5 >= 5``True`
    `<=`Menor ou igual`3 <= 5``True`

    ⚠️ Erro clássico: = é atribuição, == é comparação. Confundir os dois gera SyntaxError.




    🔗 elif — múltiplas condições


    
    horario = 14  # 24h
    
    if horario < 12:
        print("Bom dia!")
    elif horario < 18:
        print("Boa tarde!")
    else:
        print("Boa noite!")
    

    ▶ Saída:

    
    Boa tarde!
    

    📖 Fluxo: O Python testa cada condição de cima pra baixo. Na primeira True, executa e pula todas as outras.




    🧩 Operadores Lógicos


    OperadorO que fazExemplo

    |----------|-----------|---------|

    `and`As duas precisam ser True`idade >= 18 and tem_disponibilidade`
    `or`Pelo menos uma precisa ser True`cliente_vip or horario_livre`
    `not`Inverte o resultado`not feriado`

    Exemplo prático — horário de funcionamento


    
    hora = 19
    aberto = hora >= 8 and hora <= 18
    
    if aberto:
        print("🟢 Aberto! Pode agendar.")
    else:
        print("🔴 Fechado. Volte das 08h às 18h.")
    

    ▶ Saída:

    
    🔴 Fechado. Volte das 08h às 18h.
    

    💡 Dica: Atribuir condições a variáveis descritivas (aberto, maior_idade, vip) deixa o código mais legível.




    🏪 Exemplo real — sistema de agendamento


    
    # Sistema de agendamento da barbearia
    nome = input("Nome do cliente: ")
    idade = int(input("Idade: "))
    tem_carteira = input("Tem carteira VIP? (s/n): ")
    
    # Regras do sistema
    maior_idade = idade >= 18
    vip = tem_carteira == "s"
    
    if maior_idade or vip:
        print(f"✅ {nome}, pode agendar!")
    else:
        print(f"❌ {nome}, precisa de autorização.")
    



    📐 Aninhando condicionais


    
    dia = "segunda"
    horario = 9
    
    if dia != "domingo":
        if horario >= 8 and horario <= 18:
            print(f"🟢 Barbearia aberta às {horario}h!")
        else:
            print(f"🟡 Fora do horário comercial ({horario}h)")
    else:
        print("🔴 Domingo — fechado")
    

    📖 Boa prática: Mais de 2 níveis de aninhamento é sinal de que você pode simplificar com operadores lógicos ou funções. Python permite comparações encadeadas: if 8 <= horario <= 18.




    🎯 Exercícios Práticos


    1️⃣ Calculadora de preço por profissional


    Crie um programa que pergunte o nome do profissional e mostre o preço:

  • **Michelito** → R$ 150
  • **Kildery** → R$ 90
  • **Miguel** → R$ 70
  • **Outro** → "Profissional não encontrado"

  • 
    prof = input("Profissional (Michelito/Kildery/Miguel): ")
    
    if prof == "Michelito":
        print(f"Corte com {prof}: R$ 150")
    elif prof == "Kildery":
        print(f"Corte com {prof}: R$ 90")
    elif prof == "Miguel":
        print(f"Corte com {prof}: R$ 70")
    else:
        print("❌ Profissional não encontrado")
    

    2️⃣ Verificador de horário completo


    Pergunte dia da semana e horário. Mostre o status:

  • Domingo → 🔴 Fechado
  • Seg-Sáb 08h-12h → 🟢 Aberto (manhã)
  • 12h-13h → 🟡 Almoço
  • 13h-18h → 🟢 Aberto (tarde)
  • Fora disso → 🔴 Fechado

  • 💡 Use comparações encadeadas: if 8 <= horario <= 12


    3️⃣ Validação de formulário (desafio)


    Valide o cadastro:

  • Nome: mínimo 3 caracteres
  • Email: precisa conter `@`
  • Idade: entre 0 e 120
  • Mostre mensagem específica para cada erro
  • Se tudo ok: "✅ Cadastro válido"

  • 💡 Dica AWS: Condicionais são a base de funções Lambda — aprovar pagamento, validar formulário, filtrar eventos SQS.




    📚 Resumo


    ConceitoDoc Oficial

    |----------|-------------|

    `if`/`elif`/`else`[docs.python.org/3/tutorial/controlflow.html#if-statements](https://docs.python.org/3/tutorial/controlflow.html#if-statements)
    `==`, `!=`, `>`, `<`[docs.python.org/3/library/stdtypes.html#comparisons](https://docs.python.org/3/library/stdtypes.html#comparisons)
    `and`, `or`, `not`[docs.python.org/3/tutorial/controlflow.html#if-statements](https://docs.python.org/3/tutorial/controlflow.html#if-statements)
    `bool()`[docs.python.org/3/library/functions.html#bool](https://docs.python.org/3/library/functions.html#bool)
    PEP 8[peps.python.org/pep-0008/](https://peps.python.org/pep-0008/)



    Anterior: [[Aula-P01-Primeiros-Passos]] | Próxima: [[Aula-P03-Listas-e-Loops]]