Python Declarações condicionais: IF…Else, ELIF e Switch Case
⚡ Resumo Inteligente
Python As instruções condicionais direcionam o fluxo do programa executando blocos de código específicos somente quando expressões booleanas são avaliadas como verdadeiras. Elas incluem if, else, elif, if aninhado, o operador ternário e o casamento de padrões estruturais para uma lógica limpa e orientada a decisões.

O que são declarações condicionais em Python?
Declarações condicionais em Python Executar cálculos ou ações diferentes dependendo se uma restrição booleana específica for avaliada como verdadeira ou falsa. Isso permite que um programa tome decisões e siga caminhos diferentes em vez de executar cada linha em sequência. Python, as declarações condicionais são tratadas pelo if declaração e seus componentes complementares: else, elif e if aninhado.
O que é a Python Se declaração?
As Python declaração if é usado para operações de tomada de decisão. Ele contém um bloco de código que é executado somente quando a condição dada na instrução `if` é verdadeira. Se a condição for falsa, a instrução opcional `else` é executada em seu lugar, contendo o código para a condição `else`. Quando você deseja agir com base em uma condição enquanto outra não é verdadeira, você usa o `if`. Python instrução if-else.
Python Sintaxe da instrução if:
if expression:
statement
else:
statement
Python if…else Fluxograma
O fluxograma acima mostra como o controle flui através de uma instrução if-else. Vejamos um exemplo do Python Declaração if-else em ação:
# Example file for working with conditional statements
def main():
x, y = 2, 8
if(x < y):
st = "x is less than y"
print(st)
if __name__ == "__main__":
main()
- Code Linha 3: Definimos duas variáveis x, y = 2, 8.
- Code Linha 4: A instrução if verifica a condição x < y, que é a Verdadeira nesse caso.
- Code Linha 5: A variável st está definida como “x é menor que y”.
- Code Linha 6: A linha print(st) exibe o valor de st, que é “x é menor que y”.
O que acontece quando a condição "se" não é atendida?
Com base no exemplo anterior, vejamos o que acontece quando a condição `if` em Python se a condição não for atendida. Quando a condição for falsa e não houver um ramo "else", o código indentado será completamente ignorado.
# Example file for working with conditional statements
def main():
x, y = 8, 4
if(x < y):
st = "x is less than y"
print(st)
if __name__ == "__main__":
main()
- Code Linha 3: Definimos duas variáveis x, y = 8, 4.
- Code Linha 4: A instrução if verifica a condição x < y, que é Falso nesse caso.
- Code Linha 5: A variável st é NÃO definido como “x é menor que y”.
- Code Linha 6: A linha print(st) tenta imprimir uma variável que nunca foi declarada, então Python levanta um NomeErro.
Como usar a condição “else”
Para evitar o erro acima, você pode adicionar uma condição `else`. A condição `else` é usada quando você precisa avaliar uma afirmação com base em outra. Se uma condição for falsa, o bloco `else` fornece um caminho alternativo para que o programa ainda produza um resultado.
Exemplo:
# Example file for working with conditional statements
def main():
x, y = 8, 4
if(x < y):
st = "x is less than y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
- Code Linha 3: Definimos duas variáveis x, y = 8, 4.
- Code Linha 4: A instrução if verifica a condição x < y, que é Falso nesse caso.
- Code Linha 6: O fluxo de controle do programa passa para a condição else.
- Code Linha 7: A variável st está definida como “x é maior do que você.
- Code Linha 8: A linha print(st) exibe o valor de st, que é “x é maior que y”.
Quando a condição “else” não funciona
A condição `else` nem sempre produzirá o resultado desejado. Ela pode imprimir uma saída incorreta quando houver uma falha na lógica do programa. Isso geralmente ocorre quando é necessário justificar mais de duas instruções ou condições em um programa. Um exemplo ajudará você a entender esse conceito.
Aqui, ambas as variáveis são iguais (8, 8), mas a saída do programa é “x é maior que y” que é ERRADOIsso acontece porque o programa verifica a primeira condição (a condição `if`) e, quando ela falha, imprime a segunda condição (a condição `else`) como valor padrão. No próximo passo, veremos como corrigir esse erro.
# Example file for working with conditional statements
def main():
x, y = 8, 8
if(x < y):
st = "x is less than y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
Como usar a condição “elif”
Para corrigir o erro anterior cometido pela condição else, podemos usar o elif Ao usar a condição `elif`, você instrui o programa a testar uma terceira possibilidade quando a primeira condição for falsa. Você pode encadear várias condições `elif` para verificar a quarta, quinta e outras possibilidades em seu código.
Exemplo:
# Example file for working with conditional statements
def main():
x, y = 8, 8
if(x < y):
st = "x is less than y"
elif(x == y):
st = "x is same as y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
- Code Linha 3: Definimos duas variáveis x, y = 8, 8.
- Code Linha 4: A instrução if verifica a condição x < y, que é Falso nesse caso.
- Code Linha 6: O fluxo de controle do programa passa para a condição elif. Ela verifica se x == y, o que é verdadeiro.
- Code Linha 7: A variável st está definida como “x é mesma y. ”
- Code Linha 10: O controle do programa sai da instrução if (não chegará à instrução else) e imprime st. A saída é "x é igual a y", o que está correto.
Como executar uma instrução condicional com o mínimo de código Code
Agora que você consegue escrever blocos if-elif-else completos, Python Permite condensar uma condição simples em uma única linha. Em vez de escrever código separado para cada ramificação, você pode usar um expressão ternária (condicional).
Sintaxe:
value_if_true if condition else value_if_false
Exemplo:
def main():
x, y = 10, 8
st = "x is less than y" if (x < y) else "x is greater than or equal to y"
print(st)
if __name__ == "__main__":
main()
- Code Linha 2: Definimos duas variáveis x, y = 10, 8.
- Code Linha 3: A variável st é definida como “x é menor que y” se x < y; caso contrário, torna-se “x é maior ou igual a y”. Como x > y neste caso, st assume o segundo valor.
- Code Linha 4: Imprime o valor de st e fornece a saída correta.
Python Declaração if aninhada
Uma instrução `if` aninhada coloca uma instrução `if` dentro de outra, o que é útil quando uma decisão depende de uma segunda condição. O exemplo a seguir demonstra uma instrução `if` aninhada em Python que calcula o navioping O custo varia de acordo com o país e o valor total do pedido.
total = 100
# country = "US"
country = "AU"
if country == "US":
if total <= 50:
print("Shipping Cost is $50")
elif total <= 100:
print("Shipping Cost is $25")
elif total <= 150:
print("Shipping Cost is $5")
else:
print("FREE")
if country == "AU":
if total <= 50:
print("Shipping Cost is $100")
else:
print("FREE")
Remova o comentário da linha 2 no código acima, comente a linha 3 e execute o código novamente para ver como a saída muda para um país diferente.
Instrução Switch Case em Python
O que é uma instrução switch?
Uma instrução switch é uma instrução de ramificação múltipla que compara o valor de uma variável com os valores especificados nas instruções case. Por muitos anos, a Python A linguagem não possuía uma instrução switch, então os desenvolvedores implementaram o mesmo comportamento com Python dicionário mapa,ping.
Exemplo usando mapa de dicionárioping:
def switch_example(argument):
switcher = {
0: "This is Case Zero",
1: "This is Case One",
2: "This is Case Two",
}
return switcher.get(argument, "nothing")
if __name__ == "__main__":
argument = 1
print(switch_example(argument))
Switch Case com combinação (Python 3.10 e Later)
Como Python 3.10 (lançado em outubro de 2021), Python fornece um nativo caixa de fósforos declaração, conhecida como correspondência de padrões estruturais. Ela oferece uma alternativa limpa e legível às longas cadeias elif e à abordagem de dicionário mostrada acima.
def switch_example(argument):
match argument:
case 0:
return "This is Case Zero"
case 1:
return "This is Case One"
case 2:
return "This is Case Two"
case _:
return "nothing"
if __name__ == "__main__":
print(switch_example(1))
O sublinhado (_) funciona como o caso padrão, correspondendo a qualquer valor não tratado pelos casos anteriores, tal como o padrão numa instrução switch tradicional.
if vs elif vs else: Comparação rápida
Use essa comparação para decidir qual estrutura condicional se adequa à sua lógica de tomada de decisão.
| Declaração | Propósito | Quando usar |
|---|---|---|
| if | Executa um bloco quando uma condição é verdadeira. | Uma simples decisão de sim/não. |
| se…senão | Fornece uma alternativa quando a condição for falsa. | Dois resultados mutuamente exclusivos |
| elif | Testa condições adicionais em sequência | Três ou mais possibilidades |
| Aninhado se | Coloca um "se" dentro de outro "se". | Uma decisão que depende de uma segunda condição. |
| Ternário | Condensa a estrutura condicional if-else em uma única linha. | Atribuição de valor simples |
| caixa de fósforos | Compara um valor com vários padrões. | Ramificação múltipla (Python 3.10 +) |







