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.

  • Conceito Central: Uma instrução `if` executa seu bloco indentado somente quando a condição é avaliada como verdadeira, formando a base da tomada de decisões em Python.
  • Alternativas de alça: Adicione `else` para um caminho alternativo e `elif` para testar condições adicionais em sequência, sem aninhamento excessivo.
  • Evite erros de lógica: Use uma única cadeia if-elif-else em vez de instruções if independentes quando exatamente um resultado for necessário.
  • Escreva de forma concisa Code: Aplique a expressão ternária `value_if_true if condition else value_if_false` para atribuir um valor em uma única linha legível.
  • Ramificação moderna: Substitua longas cadeias elif por um mapa de dicionário.ping ou a instrução match-case introduzida em Python 3.10 para uma seleção múltipla mais limpa.

Python Declarações Condicionais

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

Python Fluxograma "se...senão" mostrando os ramos verdadeiro e falso.

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:

Python Exemplo de saída da instrução if no editor

# 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.

Python Erro quando a condição "if" não é atendida.

# 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.
⚠ Aviso: Referenciar uma variável que só recebe um valor dentro de um bloco `if` é um erro comum entre iniciantes. O ideal é usar um bloco `else` ou atribuir um valor padrão à variável antes do bloco `if`.

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:

Python Exemplo de condição if-else

# 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.

Python senão a condição produz um resultado incorreto

# 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:

Python exemplo de condição elif

# 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:

Python Exemplo de declaração condicional ternária em uma linha

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.

✅ Dica: Use a opção "match-case" se você estiver em Python 3.10 ou mais recente. Para versões anteriores, consulte o mapa do dicionário.ping Continua sendo a maneira padrão de emular uma instrução switch.

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çãoPropósitoQuando usar
ifExecuta um bloco quando uma condição é verdadeira.Uma simples decisão de sim/não.
se…senãoFornece uma alternativa quando a condição for falsa.Dois resultados mutuamente exclusivos
elifTesta condições adicionais em sequênciaTrês ou mais possibilidades
Aninhado seColoca um "se" dentro de outro "se".Uma decisão que depende de uma segunda condição.
TernárioCondensa a estrutura condicional if-else em uma única linha.Atribuição de valor simples
caixa de fósforosCompara um valor com vários padrões.Ramificação múltipla (Python 3.10 +)
⚠ Observação: Python Dois deles chegaram ao fim de sua vida útil em 1º de janeiro de 2020, e todos os exemplos neste artigo usam Python 3 sintaxe. Em Python 2. O comando `print` era uma instrução (por exemplo, `print st`) e não uma função, portanto o código acima não será executado sem alterações em `st`. Python 2.

Perguntas Frequentes

Uma instrução `if` inicia uma decisão e é sempre avaliada. Um `elif` (ou `else-if`) é verificado apenas quando as condições `if` ou `elif` anteriores são falsas, permitindo testar várias possibilidades em uma única cadeia enquanto apenas um bloco é executado.

sim. Desde a Python Na versão 3.10, a instrução `match-case` fornece ramificação nativa no estilo `switch` por meio de correspondência de padrões estruturais. Em versões anteriores, os desenvolvedores emulavam um `switch` usando um mapa de dicionário.ping com o método get() para fornecer um valor padrão.

Use uma expressão ternária: valor_se_verdadeiro se condição senão valor_se_falso. Por exemplo, st = “baixo” se x < 10 senão “alto” atribui um valor em uma única linha legível sem um bloco if-else completo.

Sim. Assistentes de programação com IA podem gerar, explicar e depurar lógica if-elif-else a partir de um comando em linguagem natural. Eles são úteis para o aprendizado, mas você ainda deve revisar a saída para confirmar se as condições e a indentação correspondem à lógica pretendida.

Sim. A lógica condicional é fundamental para a IA. Árvores de decisão, sistemas baseados em regras e fluxos de pré-processamento de dados dependem de ramificações "se-senão" para escolher ações, filtrar dados e controlar como um modelo lida com diferentes entradas.

Resuma esta postagem com: