🇯🇵 日本語 | 🇺🇸 English | 🇪🇸 Español | 🇵🇹 Português | 🇹🇭 ไทย | 🇨🇳 中文

Domine a Ramificação Condicional com a Declaração if do Python

Para executar Python no prompt de comando ou PowerShell no seu PC, é necessário baixar e instalar o Python.
Se ainda não o fez, consulte o artigo Instalação do Python e configuração do ambiente de desenvolvimento para instalar o Python.

Bem-vindo ao mundo da programação! Para todos vocês, iniciantes, que acabaram de começar a criar sites ou desenvolver aplicativos, como está o seu aprendizado de Python? Desta vez, vamos mergulhar fundo na declaração if, uma das "estruturas de controle" fundamentais na programação. A declaração if é um comando que executa um processo apenas quando uma condição específica é satisfeita, permitindo que você crie ramificações condicionais como, "se isto for verdade, então faça aquilo". Ao ler este artigo, você obterá uma compreensão sólida da declaração if, do básico ao avançado, e experimentará a "alegria de ver seu código funcionar" com exemplos que você pode copiar e colar!


Uso Básico da Declaração if

Primeiro, vamos ver a forma mais simples de uma declaração if. Isso é para quando você quer dizer, "se uma condição for verdadeira (True), execute o código interno". A sintaxe é muito simples.


if condição:
    # Código a ser executado quando a condição é Verdadeira (True)
  

O que é importante aqui são os dois-pontos (:) e a indentação. Você deve sempre colocar dois-pontos no final da linha da declaração if, e o código que você quer executar é indentado (geralmente com quatro espaços) na linha seguinte. Essa indentação desempenha um papel crucial na definição de blocos de código em Python.

Agora, vamos ver um código em ação. Aqui está um exemplo simples que verifica se uma idade é 20 ou mais.


# Atribui 25 à variável 'age'
age = 25

# Se a idade for 20 ou mais, exibe uma mensagem
if age >= 20:
    print("Você é um adulto.")

# Esta linha está fora do bloco if, então é sempre executada, independentemente da condição
print("Programa finalizado.")
    

Resultado da Execução:


Você é um adulto.
Programa finalizado.
  

Neste código, a variável `age` é 25, então a condição `age >= 20` se torna verdadeira. Portanto, o `print("Você é um adulto.")` indentado é executado. Se você alterar o valor de `age` para algo como 18 e executá-lo, esta linha не será executada, e apenas "Programa finalizado." será exibido. Vá em frente e experimente!


else: Lidando com o Caso em que a Condição Não é Atendida

Em seguida, vamos aprender como adicionar um processo para quando a condição não é satisfeita, como em "se isto for verdade, faça A; caso contrário, faça B". É aqui que o else entra.


if condição:
    # Código a ser executado quando a condição é Verdadeira (True)
else:
    # Código a ser executado quando a condição é Falsa (False)
  

Vamos adicionar um else ao nosso exemplo anterior de verificação de idade. Desta vez, vamos definir `age` como 18.


# Atribui 18 à variável 'age'
age = 18

# Se a idade for 20 ou mais, imprime "Você é um adulto."
if age >= 20:
    print("Você é um adulto.")
# Caso contrário, imprime "Você é menor de idade."
else:
    print("Você é menor de idade.")

print("Programa finalizado.")
    

Resultado da Execução:


Você é menor de idade.
Programa finalizado.
  

Desta vez, `age` é 18, então a condição `age >= 20` é falsa. Portanto, o código no bloco if é pulado, e o código dentro do bloco else, `print("Você é menor de idade.")`, é executado. Agora, não importa a idade inserida, uma das duas mensagens sempre será exibida.


elif: Ramificando com Múltiplas Condições

Então, e se você tiver mais de duas condições? Por exemplo, você pode querer atribuir notas como "Excelente", "Bom", "Aprovado" ou "Reprovado" com base em uma pontuação. Para tais ramificações condicionais múltiplas, você usa elif (abreviação de else if).


if condição1:
    # Código a ser executado se a condição1 for Verdadeira
elif condição2:
    # Código a ser executado se a condição1 for Falsa e a condição2 for Verdadeira
elif condição3:
    # Código a ser executado se as condições 1 e 2 forem Falsas, e a condição3 for Verdadeira
else:
    # Código a ser executado se todas as condições forem Falsas
  

Você pode adicionar quantas declarações elif precisar. O Python avalia as condições de cima para baixo e, uma vez que encontra uma condição que é verdadeira, ele executa aquele bloco de código e depois pula o resto dos blocos elif и else, saindo de toda a declaração if.

Vamos ver um exemplo de avaliação de notas.


# Atribui uma pontuação de 85 à variável 'score'
score = 85

if score >= 90:
    grade = "Excelente"
elif score >= 80:
    grade = "Bom"
elif score >= 60:
    grade = "Aprovado"
else:
    grade = "Reprovado"

print(f"Sua pontuação é {score}, então sua nota é '{grade}'.")
    

Resultado da Execução:


Sua pontuação é 85, então sua nota é 'Bom'.
  

Neste código, `score` é 85.

  1. A primeira condição, `if score >= 90:`, é falsa.
  2. A próxima condição, `elif score >= 80:`, é verdadeira.
Como esta condição foi satisfeita, `grade = "Bom"` é executado, e os blocos `elif` e `else` subsequentes são pulados à medida que o Python sai da declaração if. Se `score` fosse 50, todas as condições `if` e `elif` seriam falsas, e o bloco final `else` seria executado, tornando a `grade` "Reprovado".


Exemplo Avançado: Combinando Múltiplas Condições

Em uma declaração if, você também pode usar operadores lógicos como `and` (e), `or` (ou), e `not` (não) para especificar condições mais complexas.

Por exemplo, vamos escrever uma condição para "entre 9h e 17h, e não em um fim de semana".


# Simula a hora e o dia da semana atuais
hour = 10
day_of_week = "Segunda-feira"

# Verifica o horário de funcionamento
# A hora é 9 ou maior E menor que 17
is_open_hour = hour >= 9 and hour < 17 
# O dia não é Sábado E não é Domingo
is_weekday = day_of_week != "Sábado" and day_of_week != "Domingo"

if is_open_hour and is_weekday:
    print("Estamos abertos.")
else:
    print("Estamos fechados.")
    

Resultado da Execução:


Estamos abertos.
  

Ao combinar múltiplas condições como esta, você pode expressar regras mais complexas do mundo real em seus programas.


Um Exemplo Completo para Criadores da Web

Como criadores da web, vocês podem estar interessados em usar o Python para gerar HTML dinamicamente. O exemplo a seguir é um script em Python que gera uma mensagem HTML com base no status de login de um usuário e no seu plano de assinatura. A execução deste código Python criará um arquivo HTML chamado `welcome_message.html`. Esta é uma oportunidade perfeita para experimentar um código que "simplesmente funciona"!

Tente salvar o seguinte código Python como um arquivo, por exemplo `generate_html.py`, e executá-lo.


# --- Simulação de Informações do Usuário ---
is_logged_in = True
user_name = "Silva"
membership_plan = "premium"  # pode ser "premium", "standard", ou "free"

# --- Determinar o Conteúdo HTML ---
if is_logged_in:
    if membership_plan == "premium":
        title = f"Bem-vindo(a), {user_name}"
        message = "Você tem acesso a todos os recursos premium."
        color = "#ffd700"  # Gold
    elif membership_plan == "standard":
        title = f"Bem-vindo(a), {user_name}"
        message = "Você está atualmente no plano padrão."
        color = "#4682b4"  # SteelBlue
    else: # plano gratuito
        title = f"Bem-vindo(a), {user_name}"
        message = 'Você está usando o plano gratuito. Gostaria de fazer um upgrade?'
        color = "#cccccc"  # LightGray
else:
    title = "Olá, Visitante"
    message = 'Você precisa fazer login para usar nossos serviços.'
    color = "#f0f0f0"

# --- Geração do Código HTML ---
html_content = f"""
<!DOCTYPE html>
<html lang="pt">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Mensagem de Boas-Vindas</title>
    <style>
        body {{
            font-family: sans-serif;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
            margin: 0;
            background-color: #f9f9f9;
        }}
        .welcome-card {{
            border: 2px solid {color};
            border-radius: 10px;
            padding: 2rem;
            box-shadow: 0 4px 8px rgba(0,0,0,0.1);
            text-align: center;
            background-color: white;
        }}
        h1 {{
            color: #333;
        }}
        p {{
            color: #555;
            font-size: 1.1rem;
        }}
        a {{
            color: #007bff;
            text-decoration: none;
        }}
        a:hover {{
            text-decoration: underline;
        }}
    </style>
</head>
<body>
    <div class="welcome-card">
        <h1>{title}</h1>
        <p>{message}</p>
    </div>
</body>
</html>
"""

# --- Escrevendo no Arquivo ---
try:
    with open("welcome_message.html", "w", encoding="utf-8") as f:
        f.write(html_content)
    print("Arquivo HTML 'welcome_message.html' gerado.")
    print("Abra-o no seu navegador para verificar.")
except IOError as e:
    print(f"Ocorreu um erro ao escrever o arquivo: {e}")

    

Após executar este código, um arquivo chamado `welcome_message.html` será criado na mesma pasta. Ao abrir este arquivo em um navegador, você verá uma mensagem estilizada que muda com base nos valores de `is_logged_in` e `membership_plan`. Tente alterar os valores dessas variáveis para ver como o HTML gerado muda! Este é o primeiro passo para criar conteúdo dinâmico com programação.


Pontos a Observar (Erros Comuns)

Existem alguns erros comuns que todos cometem quando começam a usar declarações if. Vamos verificá-los com antecedência.

1. Confundir o Operador de Igualdade `==` com o Operador de Atribuição `=`

Para comparar se dois valores são "iguais" na condição de uma declaração if, você deve usar dois sinais de igual `==`. Um único sinal de igual `=` é o operador de atribuição, usado para atribuir um valor a uma variável. Confundi-los causará erros ou comportamento inesperado.


# Errado
if membership_plan = "premium": # Isso causará um erro!
    ...

# Correto
if membership_plan == "premium":
    ...
  

2. Erros de Indentação

Em Python, a indentação define a própria estrutura do código. O código dentro de um bloco if deve ser indentado com o mesmo número de espaços (geralmente quatro). Se a indentação for inconsistente, você receberá um `IndentationError`.


score = 80
if score >= 60:
    print("Aprovado.")
  print("Parabéns!") # Erro devido à indentação incorreta
  

3. Distinguir entre `if` e `elif`

Se você apenas listar múltiplas condições usando apenas `if`, cada declaração `if` será avaliada independentemente. Isso pode levar a resultados que você не pretendia.

Por exemplo, vamos considerar um caso em que a pontuação é 95.


# Exemplo errado (usando ifs consecutivos)
score = 95
if score >= 90:
    print("A nota é Excelente.")
if score >= 80: # Este if também é avaliado independentemente
    print("A nota é Bom.")
    

Resultado da Execução:


A nota é Excelente.
A nota é Bom.
  

Como 95 é tanto maior ou igual a 90 quanto maior ou igual a 80, ambas as mensagens foram exibidas. É exatamente aqui que `elif` é útil. Se você usar `elif`, a avaliação para assim que uma condição é satisfeita.


# Exemplo correto (usando elif)
score = 95
if score >= 90:
    print("A nota é Excelente.")
elif score >= 80:
    print("A nota é Bom.")
    

Resultado da Execução:


A nota é Excelente.
  

Assim, quando você quer avaliar um único item em relação a múltiplas condições em camadas, usar a estrutura `if-elif-else` é apropriado.


Introdução a Códigos Úteis Relacionados

Vamos também introduzir algumas sintaxes convenientes que são frequentemente usadas com declarações if.

O Operador `in`: Verificar se um Elemento está em uma Lista ou String

Quando você quer verificar se um elemento específico está contido em uma lista, tupla ou string, o operador `in` é extremamente útil. Ele permite que você escreva um código muito mais conciso do que encadear muitas condições `or`.

Por exemplo, vamos verificar se o dia da semana de hoje é um feriado (sábado ou domingo).


day_of_week = "Domingo"
holidays = ["Sábado", "Domingo"]

# Maneira verbosa
# if day_of_week == "Sábado" or day_of_week == "Domingo":
#     print("Hoje é dia de folga.")

# Maneira inteligente usando o operador 'in'
if day_of_week in holidays:
    print("Hoje é dia de folga.")
else:
    print("Hoje é dia de trabalho.")
    

Resultado da Execução:


Hoje é dia de folga.
  

Usando o operador `in`, você pode verificar se `day_of_week` está incluído na lista `holidays` em uma única linha, tornando o código muito mais fácil de ler.


Resumo

Neste artigo, cobrimos os fundamentos da ramificação condicional em Python usando a declaração if, desde seu uso fundamental até aplicações com `else` e `elif`, e até mesmo um exemplo concreto de geração de HTML para criadores da web.

A declaração if é uma estrutura criticamente importante usada em todos os tipos de programas. Tente executar o código deste artigo em sua própria máquina e experimente alterando os valores. Ao ver seu próprio código mudar seu comportamento com base nas condições, você poderá sentir a diversão e o poder da programação. Domine a ramificação condicional e aplique-a aos serviços web e ferramentas que você deseja criar!


Como próximo passo, que tal aprender sobre laços de repetição (loops)?

Para o próximo artigo: Entendendo Loops com as Declarações for e while do Python