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?
- O Python lê a condição:
esta_chovendoéTrue(Verdadeiro)? - Como a resposta é sim (Verdadeiro), o Python executa o comando que está recuado para a direita: exibe a mensagem
"Leve um guarda-chuva!". - Se
esta_chovendofosseFalse(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
ifpermite ao programa tomar caminhos diferentes no código de acordo com uma condição. - A condição do
ifsempre deve resultar em um valor booleano (TrueouFalse). - Devemos colocar dois pontos (
:) ao final da linha doif. - 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
iffor falsa, o bloco indentado é pulado e o programa continua na linha seguinte sem recuo.