Introdução ao if

Entenda o if como uma bifurcação em uma estrada, que decide para onde o programa deve seguir.

Até agora, nossos programas eram como uma linha reta: o Python lia a primeira linha de código, depois a segunda, a terceira, e assim por diante, executando tudo do início ao fim sem desvios.

Mas a vida real é cheia de curvas e escolhas!

Imagine que você está dirigindo e encontra uma bifurcação na estrada com uma placa: "Se a ponte estiver fechada, vire à esquerda". Se a ponte estiver aberta, você segue reto. Isso é uma tomada de decisão.

Na programação, nós usamos a palavra if (que significa se em inglês) para ensinar o computador a tomar caminhos diferentes no código com base em uma condição.

Como funciona a estrutura do if?

A estrutura do if é muito simples e elegante. Veja este exemplo:

esta_chovendo = True

if esta_chovendo:
   print("Leve um guarda-chuva!")

O que está acontecendo aqui?

  1. O Python lê a condição: esta_chovendo é True (Verdadeiro)?
  2. Como a resposta é sim (Verdadeiro), o Python executa o comando que está recuado para a direita: exibe a mensagem "Leve um guarda-chuva!".
  3. Se esta_chovendo fosse False (Falso), o Python simplesmente ignoraria o comando e seguiria para a próxima linha sem executar nada.

As duas regras de ouro da sintaxe do if

O Python é muito rigoroso com a organização do código. Para escrever um if correto, você deve sempre seguir estas duas regras:

1. Os dois pontos (:) no final

No final da linha do if, você deve sempre colocar dois pontos (:). Eles servem para dizer ao Python: "Atenção! A condição acabou e abaixo vem a instrução que deve ser feita se ela for verdadeira."

2. A indentação (o recuo do código)

Tudo o que deve acontecer se o if for verdadeiro deve ser escrito com um recuo para a direita (geralmente pressionando a tecla Tab ou 4 espaços no teclado). Esse recuo se chama indentação.

Pense no if como uma gaveta e na indentação como os objetos que estão dentro dela. Se o código não estiver recuado, o Python achará que o comando está "fora da gaveta" e o executará de qualquer maneira, ou gerará um erro!

Veja a diferença:

# Correto
eh_maior = 10 > 5
if eh_maior:
   print("Dez é maior que cinco!")  # Está dentro do if

# Incorreto - Causará um IndentationError!
if eh_maior:
print("Isso vai dar erro!")  # Faltou recuar!

No exemplo acima, utilizamos a variável "eh_maior" para armazenar o resultado da operação lógica 10 > 5. Mas o if também aceita comparações diretas. O código abaixo é também está correto e é muito comum ver o if assim:

# Correto
if 10 > 5:
   print("Dez é maior que cinco!")  # Está dentro do if

# Incorreto - Causará um IndentationError!
if 10 > 5:
print("Isso vai dar erro!")  # Faltou recuar!

E se a condição for falsa?

Se a condição for falsa, o Python simplesmente pula o bloco indentado e continua executando o código normal que vem logo abaixo (sem recuo):

esta_chovendo = False

if esta_chovendo:
   print("Leve um guarda-chuva!")  # Não será executado, a condição é falsa

print("Tenha um bom dia!")  # Sempre será executado, está fora do if

Neste caso, na tela aparecerá apenas a mensagem: Tenha um bom dia!.

O que aprendemos nesta lição

Nesta lição, você aprendeu que:

  • O if permite ao programa tomar caminhos diferentes no código de acordo com uma condição.
  • A condição do if sempre deve resultar em um valor booleano (True ou False).
  • Devemos colocar dois pontos (:) ao final da linha do if.
  • A indentação (o recuo do código para a direita) é obrigatória para definir o que está dentro do bloco de decisão do if.
  • Se a condição do if for falsa, o bloco indentado é pulado e o programa continua na linha seguinte sem recuo.