Fundamentos do Python para Iniciantes
Condicionais: if, elif, else
Aprenda sobre condicionais: if, elif, else
Aula 03: Condicionais: if, elif, else
Olá, futuro(a) programador(a)! 👋 Nesta aula, vamos mergulhar em um dos conceitos mais fundamentais e poderosos da programação: as estruturas condicionais. Elas permitem que nossos programas tomem decisões e executem diferentes blocos de código com base em determinadas condições. Pense nelas como o "cérebro" da lógica do seu programa! 🧠
1. Introdução: A Lógica por Trás das Decisões 🚦
Imagine que você está escrevendo um programa que precisa verificar a idade de uma pessoa para decidir se ela pode entrar em um evento. Ou talvez, um sistema que calcula o desconto em uma compra com base no valor total. Como o programa "sabe" o que fazer em cada situação? É aí que entram as condicionais!
As estruturas condicionais permitem que você controle o fluxo de execução do seu código. Elas avaliam uma condição (que é uma expressão booleana, ou seja, resulta em True ou False) e, com base nesse resultado, decidem qual caminho seguir.
Em Python, as principais palavras-chave para criar condicionais são:
if(se)elif(senão se)else(senão)
Vamos explorá-las em detalhes!
2. Explicação Detalhada com Exemplos 🧑💻
2.1. A Declaração if (Se)
A declaração if é a forma mais simples de uma condicional. Ela executa um bloco de código apenas se uma condição for verdadeira.
Sintaxe:
if condicao:
# Bloco de código a ser executado se a condição for True
# Note a indentação!Pontos importantes:
- A
condicaodeve ser uma expressão que avalia paraTrueouFalse. - Os dois pontos (
:) após a condição são obrigatórios. - O bloco de código dentro do
ifdeve ser indentado. A indentação (geralmente 4 espaços ou 1 tab) é crucial em Python para definir blocos de código.
Exemplo:
Vamos verificar se um número é positivo.
numero = 10
if numero > 0:
print("O número é positivo.")
numero = -5
if numero > 0:
print("O número é positivo.") # Esta linha não será executadaSaída:
O número é positivo.
No segundo caso (numero = -5), a condição numero > 0 é False, então o print dentro do if é ignorado.
2.2. A Declaração if-else (Se-Senão)
E se quisermos que algo aconteça quando a condição do if for falsa? Para isso, usamos a declaração else. O bloco de código do else será executado somente se a condição do if for falsa.
Sintaxe:
if condicao:
# Bloco de código se a condição for True
else:
# Bloco de código se a condição for FalseExemplo:
Vamos verificar se um número é par ou ímpar.
numero = 7
if numero % 2 == 0:
print(f"O número {numero} é par.")
else:
print(f"O número {numero} é ímpar.")
numero = 12
if numero % 2 == 0:
print(f"O número {numero} é par.")
else:
print(f"O número {numero} é ímpar.")Saída:
O número 7 é ímpar.
O número 12 é par.
Aqui, o operador % (módulo) retorna o resto da divisão. Se o resto da divisão por 2 for 0, o número é par. Caso contrário, é ímpar.
2.3. A Declaração if-elif-else (Se-Senão Se-Senão)
Muitas vezes, precisamos testar múltiplas condições em sequência. Para isso, o Python nos oferece o elif (uma abreviação de "else if"). Você pode ter quantos elifs precisar entre um if e um else (o else é opcional). O Python testará as condições na ordem, e executará o bloco de código do primeiro if ou elif cuja condição for verdadeira. Se nenhuma for verdadeira, e houver um else, o bloco do else será executado.
Sintaxe:
if primeira_condicao:
# Bloco de código se a primeira_condicao for True
elif segunda_condicao:
# Bloco de código se a primeira_condicao for False E a segunda_condicao for True
elif terceira_condicao:
# Bloco de código se as condições anteriores forem False E a terceira_condicao for True
else:
# Bloco de código se todas as condições anteriores forem FalseExemplo:
Vamos classificar a nota de um aluno.
nota = 85
if nota >= 90:
print("Conceito: A")
elif nota >= 80:
print("Conceito: B")
elif nota >= 70:
print("Conceito: C")
elif nota >= 60:
print("Conceito: D")
else:
print("Conceito: F")
nota = 55
if nota >= 90:
print("Conceito: A")
elif nota >= 80:
print("Conceito: B")
elif nota >= 70:
print("Conceito: C")
elif nota >= 60:
print("Conceito: D")
else:
print("Conceito: F")Saída:
Conceito: B
Conceito: F
Observe que, quando nota = 85, a primeira condição (nota >= 90) é False. A segunda condição (nota >= 80) é True, então o código dentro desse elif é executado, e o restante da estrutura condicional é ignorada.
2.4. Condicionais Aninhadas (Nested Ifs)
É possível colocar uma estrutura condicional dentro de outra. Isso é chamado de condicional aninhada. Use com moderação, pois muitas aninhamentos podem tornar o código difícil de ler e manter.
Exemplo:
Verificar se uma pessoa pode dirigir e se tem uma carteira de motorista válida.
idade = 20
tem_carteira = True
if idade >= 18:
print("Você tem idade para dirigir.")
if tem_carteira:
print("Você pode dirigir legalmente.")
else:
print("Você precisa tirar sua carteira de motorista.")
else:
print("Você não tem idade para dirigir.")Saída:
Você tem idade para dirigir.
Você pode dirigir legalmente.
3. Código de Exemplo da Documentação Oficial 📚
A documentação oficial do Python (disponível em https://docs.python.org/pt-br/3/tutorial/controlflow.html) apresenta exemplos claros de como essas estruturas funcionam. O exemplo abaixo é adaptado para demonstrar o if-elif-else de forma concisa.
x = int(input("Por favor, digite um número inteiro: "))
if x < 0:
print('Negativo')
elif x == 0:
print('Zero')
elif x == 1:
print('Único')
else:
print('Positivo e maior que 1')Como testar:
- Salve o código acima como um arquivo
.py(ex:condicionais.py). - Execute no terminal:
python condicionais.py - O programa pedirá para você digitar um número. Teste com
-5,0,1,10.
Este exemplo ilustra perfeitamente como o programa avalia cada condição em sequência e executa o bloco correspondente à primeira condição verdadeira.
4. Integração de Múltiplas Tecnologias (Não Aplicável)
Este tópico é fundamentalmente sobre as estruturas de controle de fluxo do Python. Ele não envolve a integração de múltiplas tecnologias ou bibliotecas externas. As condicionais são um pilar da lógica de programação que você usará em qualquer contexto Python, seja em scripts simples, desenvolvimento web (com Flask ou Django), análise de dados, etc.
5. Mini-Desafios Conceituais 🤔
Como esta é uma aula teórica, não teremos exercícios de codificação completos, mas sim desafios conceituais para solidificar seu entendimento.
-
Ordem Importa!: Se você tem as seguintes condições:
idade >= 18,idade >= 65, eidade < 18. Como você as organizaria em uma estruturaif-elif-elsepara garantir que todas as categorias (menor, adulto, idoso) sejam corretamente identificadas? Por que a ordem é importante? -
Resultado Booleano: Qual o resultado das seguintes expressões booleanas?
5 > 3 and 10 < 20'Python' == 'python' or 7 != 7not (True and False)
-
Refatoração: O código abaixo funciona, mas pode ser melhorado. Como você o reescreveria usando
elifpara torná-lo mais eficiente e legível?temperatura = 25 if temperatura > 30: print("Está muito quente!") if temperatura <= 30 and temperatura >= 20: print("Temperatura agradável.") if temperatura < 20: print("Está frio.")
6. Resumo e Próximos Passos 🚀
Nesta aula, você aprendeu sobre as estruturas condicionais em Python:
if: Executa um bloco de código se a condição for verdadeira.if-else: Executa um bloco se a condição for verdadeira, e outro bloco se for falsa.if-elif-else: Permite testar múltiplas condições em sequência. O primeiro bloco cuja condição for verdadeira é executado.- A indentação é crucial para definir os blocos de código.
- A ordem das condições em
if-elif-elseé muito importante.
As condicionais são a espinha dorsal da lógica de decisão em seus programas. Dominá-las é um passo gigante para escrever código mais inteligente e adaptável.
Próximos Passos:
Na próxima aula, continuaremos explorando as estruturas de controle de fluxo, focando nos Laços de Repetição (for e while). Você aprenderá a fazer seus programas executarem tarefas repetitivas de forma eficiente! Prepare-se para automatizar ainda mais! 💪