If else Python: um guia completo para condicionais

if else em python

A instrução if else é uma parte fundamental da programação em qualquer linguagem, e Python não é exceção. Assim, essa estrutura permite executar diferentes linhas de código com base em uma condição, tornando seus programas mais flexíveis e eficientes.

Neste artigo, daremos uma olhada mais de perto na instrução if else em Python, incluindo sua sintaxe, uso e algumas dicas e truques para usá-la de maneira eficaz. Assim, também abordaremos algumas armadilhas comuns a serem evitadas ao usar instruções if else, para ajudá-lo a escrever um código mais limpo e eficiente.

Sintaxe

A sintaxe de if else em Python é uma estrutura de controle de fluxo que permite executar diferentes linhas de código com base em uma condição. Assim, a estrutura básica da sintaxe de if else em Python é a seguinte:

if condição:
    # código a ser executado se a condição for verdadeira
else:
    # código a ser executado se a condição for falsa

A condição é uma expressão que é avaliada como verdadeira ou falsa. Dessa forma, se a condição for verdadeira, o código dentro do bloco if será executado. Caso contrário, o código interno else será executado.

O bloco if e o bloco else são indiretamente, o que significa que podemos omitir um deles se desejar. Por exemplo, iremos executar o código dentro do bloco if se a condição for verdadeira, e não houver nenhum código executado se a condição for falsa. Veja:

if condição:
    # código a ser executado se a condição for verdadeira

Também é possível usar diversas condições dentro de if, separadas por elif (abreviação de “if else “). Por exemplo:

if condição1:
    # código a ser executado se condição1 for verdadeira
elif condição2:
    # código a ser executado se condição2 for verdadeira
else:
    # código a ser executado se ambas as condições forem falsas

Neste exemplo, a condição1 é avaliada primeiramente. Se for verdade, o código interno if será executado. Dessa forma, se for falsa, a condição2 é avaliada. Se for verdade, o código interno elif será executado. Caso contrário, o código interno else será executado.

É importante notar que as condições dentro if e  elif são avaliadas em ordem sequencial, o que significa que a segunda condição não será avaliada se a primeira condição for verdadeira. Assim, podemos utilizar para evitar avaliação de condições desnecessárias.

Em resumo, a sintaxe de if else em Python é uma estrutura de controle de fluxo que permite executar diferentes bocadas de código com base em uma condição. Ela pode ser usada com um ou mais condições, e os blocos ifelse são específicas.

Usos comuns da estrutura if else em Python

A estrutura if else em Python é uma das mais utilizadas em programação, e tem diversas aplicações em diferentes contextos. Aqui estão alguns dos usos comuns da estrutura if else em Python:

Verificação de condições simples:

Uma estrutura if else pode ser usada para verificar se uma condição é verdadeira ou falsa. Por exemplo:

if x > 5:
    print("x é maior que 5")
else:
    print("x é menor ou igual a 5")

Dessa forma, este exemplo verifica se a variável x é maior que 5, e se for, imprime a mensagem “x é maior que 5”, caso contrário imprime a mensagem “x é menor ou igual a 5”.

Execução de diferentes códigos condicionalmente:

Uma estrutura if else pode ser usada para executar diferentes em código com base em uma condição. Por exemplo:

if condição:
    # código a ser executado se condição for verdadeira
else:
    # código a ser executado se condição for falsa

Assim, este exemplo executa o código dentro do bloco se for a condição verdadeira, senão executa o código dentro do else.

Uso de elif para incluir diversas condições:

Uma estrutura elif (abreviação de “if else”) permite incluir várias condições em uma mesma estrutura if else. Por exemplo:

if condição1:
    # código a ser executado se condição1 for verdadeira
elif condição2:
    # código a ser executado se condição2 for verdadeira
else:
    # código a ser executado se ambas as condições forem falsas

Este exemplo verifica se a condição1 é verdadeira, e se for, executa o código dentro do if. Assim, se a condição1 for falsa, verifique se a condição2 é verdadeira, e se for, execute o código dentro do elif. Se ambas as condições forem falsas, execute o código inside else.

Como usar a estrutura if else em conjunto com outras estruturas e funções em Python

A estrutura if-else é importante em Python pois permite controlar o fluxo do código, tornando mais fácil e eficiente a escrita de programas. Dessa forma, permitindo verificar condições e executar diferentes códigos com base em resultado dessa verificação, tornando o código mais flexível e adaptável a diferentes situações. Assim, podemos utiliza-lo em conjunto com outras estruturas e funções.

Uso de if else em conjunto com loops

Exemplo 1: Usando if else dentro de um for loop

No exemplo abaixo temos o código definindo uma lista de frutas e usa um laço “for” para iterar sobre as frutas na lista. Se a fruta atual for “maçã”, imprime “Eu amo maçãs!”. Caso contrário, imprime “Eu não amo ” + fruta. Veja:

fruits = ['maçã', 'banana', 'mirtilo']

for fruta in fruits:
    if fruta == 'maçã':
        print('Eu amo maçãs!')
    else:
        print('Eu não amo ' + fruta)

Saída:

Eu amo maçãs!
Eu não amo banana
Eu não amo mirtilo

Exemplo 2: Usando if else dentro de um while loop

No exemplo abaixo temos o código que itera sobre a lista de frutas e verifica se a fruta atual é “maçã”. Se for, imprime “Eu amo maçãs!”. Dessa forma, caso contrário, imprime “Eu não amo ” + a fruta atual. Veja:

fruits = ['maçã', 'banana', 'mirtilo']
i = 0
while i < len(fruits):
    if fruits[i] == 'maçã':
        print('Eu amo maçãs!')
    else:
        print('Eu não amo ' + fruits[i])
    i += 1

Saída:

Eu amo maçãs!
Eu não amo banana
Eu não amo mirtilo

Uso de if else em conjunto com funções

Exemplo 1: Usando if else com len

No exemplo abaixo temos o código que define uma lista de frutas e verifica se a lista está vazia. Assim, se não está vazia, ele imprime a lista de frutas, uma por linha. Caso contrário, ele imprime a mensagem “Não há frutos.”. Veja:

fruits = ['maçã', 'banana', 'mirtilo']

if len(fruits) > 0:
    print('Os frutos são:')
    for fruta in fruits:
        print(fruta)
else:
    print('Não há frutos.')

Saída:

Os frutos são:
maçã
banana
mirtilo

Exemplo 2: Usando if else com range

No exemplo abaixo temos o código que itera de 1 a 5 e verifica se o número é par ou ímpar, imprime uma mensagem, Veja:

for i in range(1, 6):
    if i % 2 == 0:
        print(f'O número {i} é par.')
    else:
        print(f'O número {i} é ímpar.')

Saída:

O número 1 é ímpar.
O número 2 é par.
O número 3 é ímpar.
O número 4 é par.
O número 5 é ímpar.

Exemplo 3: Usando if else com set

No exemplo abaixo temos o código verifica se o fruto “maçã” está presente na lista “fruits”. Se estiver, imprime “O fruto maçã está presente na lista.”. Caso contrário, imprime “O fruto maçã não está presente na lista.”. Veja:

fruits = {'maçã', 'banana', 'mirtilo'}

if 'maçã' in fruits:
    print('O fruto maçã está presente na lista.')
else:
    print('O fruto maçã não está presente na lista.')

Saída:

O fruto maçã está presente na lista.

Exemplo 4: Usando if else com null

No exemplo abaixo temos o código verificando a variável “nome” está sendo definida. Se for, imprime o valor da variável. Caso contrário, imprime uma mensagem indicando que não foi fornecido nenhum nome. Veja:

nome = None

if nome is not None:
    print(f'O nome é {nome}.')
else:
    print('Nenhum nome foi fornecido.')

Saída:

Nenhum nome foi fornecido.

Exemplo 5: Usando if else com append

No exemplo abaixo temos o código verificando se a lista “fruits” tem algum elemento. Dessa forma, se sim, adiciona “mirtilo” à lista e imprime a lista. Caso contrário, imprime uma mensagem indicando que não há frutos. Veja:

fruits = ['maçã', 'banana']

if len(fruits) > 0:
    fruits.append('mirtilo')
    print(fruits)
else:
    print('Não há frutos.')

Saída:

['maçã', 'banana', 'mirtilo']

Uso de if else em conjunto com estrutura de controle de fluxo

Exemplo 1: Usando if else com switch case

No exemplo abaixo temos o código verifica o valor da variável “fruit” e imprime uma mensagem. Se o valor for “maçã”, “banana”, “mirtilo” ou “uva”, imprime uma mensagem dizendo que é um fruto comum ou menos comum. Caso contrário, imprime uma mensagem dizendo que não é um fruto. Veja:

fruit = 'maçã'

if fruit == 'maçã':
    print('Este é um fruto comum.')
elif fruit == 'banana':
    print('Este é um fruto comum.')
elif fruit == 'mirtilo':
    print('Este é um fruto menos comum.')
elif fruit == 'uva':
    print('Este é um fruto menos comum.')
else:
    print('Este não é um fruto.')

Saída:
Este é um fruto comum.

No entanto, observe que o uso de switch case em Python é pouco comum, pois o linguagem tem uma estrutura de controle de fluxo mais flexível e expressiva, chamada de “estrofe de rácios” ou “if-elif-else”. Em vez de usar switch case, é mais comum usar uma série de if-elif para verificar diferentes condições e executar diferentes códigos, como mostrado no exemplo anterior.

Exemplo 2: Usando if else com if-elif-else 

No exemplo abaixo temos o código verificando o valor da variável “fruit” e imprime uma mensagem. Assim, se o valor for “maçã” ou “banana”, imprime “Este é um fruto comum”. Dessa forma, se o valor for “mirtilo” ou “uva”, imprime “Este é um fruto menos comum”. Dessa forma, caso contrário retorna a string “Este não é um fruto”.

fruit = 'maçã'

if fruit == 'maçã' or fruit == 'banana':
    print('Este é um fruto comum.')
elif fruit == 'mirtilo' or fruit == 'uva':
    print('Este é um fruto menos comum.')
else:
    print('Este não é um fruto.')

Saída:
Este é um fruto comum.

Criando condições aninhadas usando a estrutura if else

Condições aninhadas são uma forma de usar a estrutura if else para verificar várias condições em uma mescla de ifs. Em vez de ter uma série de ifs separados, podemos estar utilizando a estrutura if else para verificar várias condições em uma única estrutura. Assim, podemos tornar o código mais organizado e fácil de entender.

Para criar condições aninhadas usando a estrutura if else, podemos aplicar na seguinte sintaxes:

if (condição 1) {
  if (condição 2) {
    // código a ser executado se condição 1 for verdadeira e condição 2 for verdadeira
  } else {
    // código a ser executado se condição 1 for verdadeira e condição 2 for falsa
  }
} else {
  // código a ser executado se condição 1 for falsa
}

Assim, podemos continuar adicionando mais condições aninhadas e criando uma estrutura de if else embutida.

Por exemplo, suponha que queremos verificar se um número é maior do que 0 e menor do que 10, e se é, queremos verificar se é par ou ímpar. Dessa forma, podemos utilizar a estrutura if else aninhada da seguinte forma:

if (numero > 0) {
  if (numero < 10) {
    if (numero % 2 == 0) {
      // código a ser executado se numero for maior do que 0, menor do que 10 e par
    } else {
      // código a ser executado se numero for maior do que 0, menor do que 10 e ímpar
    }
  } else {
    // código a ser executado se numero for maior do que 0 e maior ou igual a 10
  }
} else {
  // código a ser executado se numero for igual a 0
}

Portanto, a estrutura if else aninhada permite-nos verificar várias condições em uma única estrutura, tornando o código mais organizado e fácil de entender. Além disso, permite que usemos diferentes condições em cada nível da estrutura, e isso é útil em situações em que precisamos verificar várias condições complexas.

No entanto, é importante lembrar que a estrutura if else aninhada pode se tornar confusa e difícil de entender se usada de forma excessiva ou sem uma estrutura clara. Por isso, é importante usar a estrutura de forma judiciosa e comentar o código para torná-lo mais fácil de entender. Além disso, é importante lembrar que existem outras formas de estruturar o código, como podemos aplicar funções e loop, e ter resultados mais adequados em certas situações.

Alternativas à estrutura if else em python

Existem várias alternativas à estrutura if else em Python para lidar com condições e fluxos de controle

E cada uma dessa alternativas é útil em diferentes contextos e dependendo do problema específico que você está procurando resolver. É importante lembrar que a estrutura if else é uma ferramenta poderosa e versátil, mas que há outras formas de lidar com condições em Python. Assim, a escolha da melhor abordagem depende do problema em questão.

Além disso, é importante notar que as alternativas à estrutura if else podem ser mais ou menos eficientes, dependendo do contexto. Por exemplo, o uso de um dicionário de condições como veremos abaixo, podendo está sendo uma ótima maneira de lidar com várias condições, mas podendo está sendo menos eficiente do que aplicar uma estrutura if else quando há uma quantidade grande de condições.

Em resumo, é importante ter diferentes ferramentas e técnicas na sua bagagem de programador, e conhecer as melhores formas de lidar com condições em Python, para que possamos escolher a melhor solução para o problema em questão discutido e analisado.

Aqui estão algumas opções:

1.Utilizar if seguido de várias condições

if condição1:
    # código a ser executado se condição1 for verdadeira
if condição2:
    # código a ser executado se condição2 for verdadeira
...

Portanto, podemos aplicar essa estrutura quando precisamos de uma série de condições e ações associadas a cada uma delas.

2. Utilizar if seguido de uma lista de condições

if condição1 or condição2 or condição3:
    # código a ser executado se alguma das condições for verdadeira

Dessa forma, aplicamos essa estrutura quando precisamos verificar se alguma das condições é verdadeira e executar o mesmo código em caso afirmativo.

3. Utilizar if seguido de um dicionário de condições


condições = {
    'condição1': True,
    'condição2': False,
    'condição3': True
}

if condições['condição1']:
    # código a ser executado se condição1 for verdadeira
elif condições['condição2']:
    # código a ser executado se condição2 for verdadeira
else:
    # código a ser executado se nenhuma das condições for verdadeira

Dessa maneira, aplicamos essa estrutura quando precisamos verificar várias condições e executar diferentes linhas de código com base nas condições.

4. Utilizar try/except para lidar com exceções

try:
    # código a ser executado
except ExceptionType:
    # código a ser executado se uma exceção ocorrer

Assim, aplicamos essa estrutura quando precisamos lidar com exceções personalizadas ou quando não sabemos qual exceção podemos testar.

5. Utilizar assert para lidar com condições impossíveis

assert condição, "Mensagem de erro"

Nesse sentido, aplicamos essa estrutura quando sabemos que uma condição não pode ser falso e quer lidar com um erro se isso acontecer.

6. Utilizar yield para lidar com várias condições em um único bloco de código

for condição in condições:
    if condição:
        # código a ser executado se condição for verdadeira
        yield
    else:
        # código a ser executado se condição for falso
        yield

Portanto, aplicamos essa estrutura quando precisamos lidar com várias condições em um único bloco de código e querer executar diferentes bocadas de código com base nas condições.

7. Utilizar lambda para criar funções anônimas para lidar com condições

condições = [
    lambda: condição1,
    lambda: condição2,
    lambda: condição3
]

for condição in condições:
    if condição():
        # código a ser executado se condição for verdadeira
        break
    else:
        # código a ser executado se condição for falso
        continue

Dessa maneira, aplicamos essa estrutura quando precisamos lidar com várias condições.

8. Utilizar map para executar uma função em várias condições

condições = [condição1, condição2, condição3]
resultados = list(map(lambda condição: True if condição else False, condições))

Assim, aplicamos essa estrutura quando precisamos executar uma função em várias condições e querer um resultado em uma lista.

9. Utilizar reduce para executar uma função em várias condições

condições = [condição1, condição2, condição3]
resultados = list(reduce(lambda resultado, condição: resultado + (True if condição else False), condições))

Nesse sentido, aplicamos essa estrutura quando precisamos executar uma função em várias condições e querer um resultado em uma lista.

10. Utilizar all para verificar se todas as condições são verdadeiras

condições = [condição1, condição2, condição3]
if all(condições):
    # código a ser executado se todas as condições forem verdadeiras

Dessa forma, aplicamos essa estrutura quando precisamos verificar se todas as condições são verdadeiras e executar um código em caso afirmativo.

11. Utilizar any para verificar se alguma condição é verdadeira

condições = [condição1, condição2, condição3]
if any(condições):
    # código a ser executado se alguma condição for verdadeira

Portanto, aplicamos essa estrutura quando precisamos verificar se alguma condição é verdadeira e executar um código em caso afirmativo.

12. Utilizar sum para somar as condições em uma lista

condições = [condição1, condição2, condição3]
resultados = sum(condições)

Assim, aplicamos essa estrutura quando precisamos somar as condições em uma lista e querer um resultado numérico.

13. Utilizar account para executar uma função em várias condições

condições = [condição1, condição2, condição3]
resultados = list(account(condições))

Dessa forma, aplicamos essa estrutura quando precisamos executar uma função em várias condições e querer um resultado em uma lista.

14. Utilizar itertools.product para executar uma função em várias condições

condições = [condição1, condição2, condição3]
resultados = list(itertools.product(condições))

Portanto, aplicamos essa estrutura quando precisamos executar uma função em várias condições e queremos um resultado em uma lista.

15. Utilizar numpy.select para executar uma função em várias condições

condições = [condição1, condição2, condição3]
resultados = numpy.select(condições, [True, True, False])

Nessa sentido, aplicamos essa estrutura quando executamos uma função em várias condições e queremos um resultado numérico.

Erros comuns da estrutura if else em Python

A estrutura if else em Python é uma das mais utilizadas em programação, mas também é uma das fontes de erros mais comuns. Aqui estão alguns dos erros comuns que podem ocorrer ao usar a estrutura if else em Python:

  1. Cláusula Elif esquecida: às vezes, podemos esquecer de incluir uma cláusula Elif, o que pode levar a um comportamento inesperado quando a condição não for atendida.
  2. Recuo incorreto: o recuo é importante em Python e o recuo incorreto pode levar a erros. Dessa forma, certifique-se de que as cláusulas if, elif e else estejam recuadas corretamente.
  3. Dois pontos ausentes: dois pontos são necessários após as cláusulas if e elif. Sem dois pontos, o Python gerará um SyntaxError.
  4. Condição incorreta: certifique-se de que a condição fornecida nas cláusulas if e elif esteja correta. Uma condição falsa não será executada e uma condição incorreta pode levar a um comportamento inesperado.
  5. Instruções if aninhadas: instruções if aninhadas podem ser difíceis de ler e entender. Assim, tente evitar o uso de instruções if aninhadas e, em vez disso, use uma única instrução if com várias cláusulas elif.

Ao estar ciente desses erros comuns, podemos evitá-los nos código e escrever programas mais confiáveis e eficientes.

Este artigo foi útil?

Obrigado pela resposta!
Picture of Schênia T

Schênia T

Cientista de dados, apaixonada por ferramentas de tecnologia e games. Graduanda em Estatística pela UFPB. Seu hobby é maratonar séries, curtir uma boa música trabalhando ou cozinhando, ir ao cinema e aprender coisas novas!

Contato: schenia.blog@homehost.com.br

Ganhe 30% OFF

Indique seu nome e e-mail,e ganhe um cupom de desconto de 30% para sempre na Homehost!