Em programação, as etsruturas de seleção permitem que o código tome decisões com base em condições. Em Python, isso é implementado principalmente com instruções if, elif e else, abrangendo lógica de ramificação simples, dupla e múltipla.
Estrutura de Ramificação Simples (if)
A ramificação simples executa um bloco de código somente se uma condição for verdadeira. Sua sintaxe é:
if condição:
# bloco de código executado se a condição for verdadeira
Exemplo prático: verificar se um número é positivo.
# Exemplo 1: Verificação de positivo
valor = float(input("Digite um número: "))
if valor > 0:
print("O número é positivo.")
Estrutura de Ramificação Dupla (if...else)
A ramificação dupla fornece dois caminhos: um para condição verdadeira e outro para falsa.
if condição:
# bloco executado se a condição for verdadeira
else:
# bloco executado se a condição for falsa
Exemplo: classificar um número como par ou ímpar usando uma expressão condicional.
# Exemplo 2: Par ou ímpar com expressão ternária
numero = 15
mensagem = "Par" if numero % 2 == 0 else "Ímpar"
print(f"O número {numero} é {mensagem}.")
Estrutura de Ramificação Múltipla (if...elif...else)
Para múltiplas condições, use elif (abreviação de "else if"). O primeiro bloco com condição verdadeira é executado.
if condição1:
# bloco 1
elif condição2:
# bloco 2
elif condição3:
# bloco 3
else:
# bloco padrão (opcional)
Exemplo: atribuir uma nota conceitual com base em uma pontuação.
# Exemplo 3: Nota conceitual
pontos = 85
if pontos < 0 or pontos > 100:
print("Pontuação inválida.")
elif pontos < 60:
conceito = "Insuficiente"
elif pontos < 80:
conceito = "Bom"
else:
conceito = "Excelente"
if 0 <= pontos <= 100:
print(f"Conceito: {conceito}")
Ramificação Aninhada
Estruturas if podem ser aninhadas dentro de outras para lógica complexa.
if condição_externa:
# código adicional
if condição_interna:
# bloco interno
else:
# bloco alternativo interno
else:
# bloco externo alternativo
Exemplo: verificar elegibilidade para um desconto baseado em idade e associação.
# Exemplo 4: Desconto condicional
idade = 25
membro = input("É membro do clube? (s/n): ").strip().lower()
if idade >= 18:
if membro == 's':
print("Elegível para desconto de 20%.")
else:
print("Desconto de 10% disponível.")
else:
print("Sem desconto disponível.")
Conectores Lógicos em Condições
Use and e or para combinar múltiplas condições.
and: verdadeiro apenas se ambas as condições forem verdadeiras.or: verdadeiro se pelo menos uma condição for verdadeira.
Exemplo: validar credenciais de usuário.
# Exemplo 5: Autenticação simples
usuario = "admin"
senha_digitada = "seguro123"
if usuario == "admin" and senha_digitada == "senha_correta":
print("Acesso permitido.")
else:
print("Credenciais inválidas.")
Exemplo: verificar se um valor está dentro de um intervalo.
# Exemplo 6: Intervalo de temperatura
temp = 30
if temp < 0 or temp > 40:
print("Temperatura extrema.")
else:
print("Temperatura moderada.")