Domine Declarações Condicionais em Python: IF, ELSE, ELIF e Lógica Tipo Switch
O que São Declarações Condicionais em Python?
Declarações condicionais permitem que um programa execute diferentes blocos de código baseados em expressões booleanas. Em Python, a declaração if é o construtor central que impulsiona esse processo de tomada de decisão.
Neste guia, exploraremos como usar if, else, elif e a alternativa baseada em dicionários para switch-case do Python. Cada seção inclui exemplos concisos para ilustrar os conceitos.
- Entendendo a declaração
if - Quando uma condição
iffalha - Usando a cláusula
else - Armadilhas comuns com
else - Empregando
elifpara múltiplos ramos - Condensando lógica com expressões ternárias
- Declarações
ifaninhadas - Implementando padrão switch-case com dicionários
Básicos da Declaração if em Python
Sintaxe
if expressao:
# bloco executado quando expressao é True
else:
# bloco executado quando expressao é False
Exemplo:
def main():
x, y = 2, 8
if x < y:
st = "x é menor que y"
else:
st = "x não é menor que y"
print(st)
if __name__ == "__main__":
main()
O que Acontece Quando a Condição if É Falsa?
Se a condição avalia para False e nenhuma cláusula else é fornecida, o corpo do if é ignorado e o programa continua após o bloco.
Exemplo com condição falhando:
def main():
x, y = 8, 4
if x < y:
st = "x é menor que y"
else:
st = "x é maior ou igual a y"
print(st)
if __name__ == "__main__":
main()
Usando a Cláusula else
O bloco else executa quando a condição if precedente é False. É útil quando você tem uma decisão binária.
def main():
x, y = 8, 4
if x < y:
st = "x é menor que y"
else:
st = "x é maior que y"
print(st)
if __name__ == "__main__":
main()
Erros Comuns com else
Quando dois valores são iguais, um bloco else pode relatar incorretamente uma comparação como "maior" ou "menor".
def main():
x, y = 8, 8
if x < y:
st = "x é menor que y"
else:
st = "x é maior que y" # Incorreto quando x == y
print(st)
if __name__ == "__main__":
main()
Introduzindo elif para Múltiplos Ramos
A cláusula elif permite testar condições adicionais após o if inicial. Ela previne o erro de fall-through visto acima.
def main():
x, y = 8, 8
if x < y:
st = "x é menor que y"
elif x == y:
st = "x é igual a y"
else:
st = "x é maior que y"
print(st)
if __name__ == "__main__":
main()
Condensando Lógica com Expressão Ternária
A sintaxe one-liner do Python pode tornar comparações simples concisas:
def main():
x, y = 10, 8
st = "x é menor que y" if x < y else "x é maior ou igual a y"
print(st)
if __name__ == "__main__":
main()
Declarações if Aninhadas
Condições aninhadas são úteis quando uma decisão depende de múltiplas variáveis.
total = 100
pais = "BR" # Altere para "US" para testar o outro bloco
if pais == "US":
if total <= 50:
print("Custo de envio é $50")
elif total <= 100:
print("Custo de envio é $25")
elif total <= 150:
print("Custo de envio é $5")
else:
print("GRÁTIS")
elif pais == "BR":
if total <= 50:
print("Custo de envio é R$100")
else:
print("GRÁTIS")
Equivalente a Switch-Case em Python
Python não possui uma declaração switch nativa, mas uma busca em dicionário oferece a mesma clareza e eficiência.
def switch_exemplo(argumento):
switcher = {
0: "Este é o Caso Zero",
1: "Este é o Caso Um",
2: "Este é o Caso Dois",
}
return switcher.get(argumento, "nada")
if __name__ == "__main__":
argumento = 1
print(switch_exemplo(argumento))
Resumo
- if – Executa quando uma condição é verdadeira.
- else – Executa quando o
ifprecedente é falso. - elif – Adiciona verificações booleanas adicionais em sequência.
- Expressões ternárias (one-liner) encurtam comparações simples.
- Blocos
ifaninhados lidam com decisões multi-dimensionais. - Buscas em dicionários fornecem uma alternativa limpa ao switch-case.
python
- Dominando Lógica Condicional em C#: If, If-Else, If-ElseIf e If Aninhados
- Dominando a Instrução Switch em C#: Sintaxe, Exemplos e Boas Práticas
- Dominando a Declaração Switch-Case em C++: Sintaxe, Fluxo e Exemplos Práticos
- Dominando Declarações Condicionais em C: If, Else e Mais
- Dominando a Declaração Switch em C: Sintaxe, Fluxo e Exemplo Prático
- Declarações, Indentação e Comentários em Python: Guia Claro
- Dominando Declarações If…Else em Python
- Dominando a Declaração Pass em Python: Guia Prático
- Dominando Switch-Case em C++: Sintaxe, Uso e Exemplos Práticos
- Função Print() do Python: Guia Prático com Exemplos