Aula 6: Estrutura Condicional `if`

Dominando a tomada de decisões no seu código.

O Que Você Vai Aprender

Nesta aula de 2 horas, você mergulhará no coração da lógica de programação: as estruturas condicionais. Aprenderá como o seu programa pode "tomar decisões" com base em diferentes cenários, tornando-o muito mais dinâmico e inteligente. Entenderemos a sintaxe, o uso e a importância crucial da indentação em Python.

🤔 Fluxo de Controle e Decisão

Compreender por que e como os programas precisam tomar decisões para se adaptar a diferentes situações.

Structure Estruturas `if`, `elif`, `else`

Aprender a sintaxe e o uso correto das estruturas condicionais básicas e múltiplas.

📏 Indentação: A Chave

Entender a importância crítica da indentação em Python para definir blocos de código.

🧱 Lógicas Condicionais Aninhadas

Implementar cenários mais complexos onde uma decisão depende de outra.

Introdução à Tomada de Decisão

Até agora, nossos programas seguem uma sequência linear de instruções. Mas e se quisermos que eles reajam a diferentes entradas ou situações? É aqui que entra a tomada de decisão! Ela permite que seu programa execute diferentes blocos de código com base em condições.

Por que precisamos de condicionais? Para que o programa possa se comportar de maneiras diferentes com base em certas condições. Pense no mundo real: "Se estiver chovendo, levarei um guarda-chuva." Se não estiver, não levarei. O programa precisa dessa flexibilidade.

A Estrutura `if`: O Básico da Decisão

A estrutura `if` é a base das condicionais. Ela verifica uma condição e, se for verdadeira (`True`), executa um bloco de código. Caso contrário, ignora. A indentação é crucial em Python para definir o que está dentro do bloco `if`!

Sintaxe

if condicao:
    # código a ser executado se a condição for True

A condição deve sempre resultar em um valor booleano (`True` ou `False`).

A Importância da Indentação

O bloco de código que pertence ao `if` (ou `else`, `elif`) DEVE ser indentado (geralmente com 4 espaços ou um tab). Python usa a indentação para entender a estrutura do seu código.

# Indentação Correta
idade = 20
if idade >= 18:
    print("Você é maior de idade.") # Este print está indentado
print("Fim do programa.") # Este print NÃO está indentado, será executado sempre.
# Indentação Incorreta (geraria erro de indentação)
# idade = 20
# if idade >= 18:
# print("Você é maior de idade.")

Simulador `if` (Maioridade)

Digite uma idade e veja se a condição `idade >= 18` é verdadeira.

A Cláusula `else`: O Caminho Alternativo

Quando você tem uma condição e quer executar um bloco de código se ela for verdadeira e outro bloco se ela for falsa, usa-se a cláusula `else`. Ela atua como um "plano B" para o seu `if`.

Sintaxe

if condicao:
    # código se for True
else:
    # código se for False

Exemplo: Par ou Ímpar

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

Simulador `if-else` (Par ou Ímpar)

Digite um número e descubra se ele é par ou ímpar, demonstrando o uso de `if` e `else`.

A Cláusula `elif`: Múltiplas Escolhas

Quando você tem mais de duas opções, o `elif` (abreviação de "else if") entra em cena. Ele permite verificar múltiplas condições em sequência. A primeira condição `True` que for encontrada terá seu bloco de código executado, e o restante será ignorado.

Sintaxe

if condicao1:
    # código se condicao1 for True
elif condicao2:
    # código se condicao1 for False e condicao2 for True
else:
    # código se nenhuma das anteriores for True

Exemplo: Conceitos de Notas

nota = 8.5
if nota >= 9.0:
    print("Conceito A")
elif nota >= 7.0:
    print("Conceito B")
elif nota >= 5.0:
    print("Conceito C")
else:
    print("Conceito D")

Simulador `if-elif-else` (Verificador de Conceito)

Insira uma nota e veja qual conceito (`A`, `B`, `C` ou `D`) ela representa.

Condicionais Aninhados: Lógicas Complexas

Às vezes, uma decisão depende de outra. Condicionais aninhados são estruturas `if` (ou `elif`/`else`) dentro de outros `if`s. Isso permite construir lógicas mais complexas e refinadas. A indentação se torna ainda mais importante aqui!

Exemplo: Login

usuario = "admin"
senha = "123"

if usuario == "admin":
    if senha == "1234":
        print("Acesso concedido!")
    else:
        print("Senha incorreta.")
else:
    print("Usuário não encontrado.")

Simulador de Login (Condicionais Aninhados)

Tente fazer login com diferentes credenciais. (Usuário correto: `admin`, Senha correta: `1234`)

Desafios para Continuar

Hora de aplicar o que aprendeu! Resolva estes problemas no seu próprio ambiente de desenvolvimento Python para solidificar sua compreensão das estruturas condicionais.

  • Carteira de Motorista

    Crie um programa que:

    • Peça a idade do usuário.
    • Informe se ele pode ou não tirar a carteira de motorista (idade `>= 18`).

  • Sistema de Notas e Frequência

    Crie um programa que:

    • Peça duas notas e a frequência (em %) de um aluno.
    • Calcule a média das notas.
    • Informe se o aluno foi:
      • **Aprovado:** Média `>= 7.0` E Frequência `>= 75%`
      • **Recuperação:** Média `>= 5.0` E Frequência `>= 75%` (e não aprovado)
      • **Reprovado:** Em qualquer outro caso.