Blog

Postado em em 13 de setembro de 2022

Estruturas Condicionais no Python: Como Utilizá-las?

O if-else no python é um recurso muito utilizado, sendo até mesmo básico para a programação de qualquer aplicação. São conceitos essenciais e basilares na ciência da computação que ajudam a controlar o fluxo de execução. 

Por isso, vamos conferir neste conteúdo mais informações sobre a estrutura condicional no Python e um tutorial prático de como usar esses comandos.

Para receber a planilha que usamos na aula no seu e-mail, preencha:

O que é a estrutura condicional Python if-else?

A estrutura condicional é uma seção que ajuda a definir condições para a execução de determinados blocos de comandos. Em vez de executar tudo de vez, sem nenhuma interrupção, o programa deve parar para executar um teste e decidir qual caminho seguir.

É como uma bifurcação, um momento importante para tomada de decisão. Nesse caso, a decisão é o resultado de uma análise, de uma comparação. 

Funciona assim: Se essa condição X é satisfeita, então execute esse bloco de comandos; senão, execute esse outro bloco de comandos. 

Parte-se do pressuposto que o “senão” traz um bloco diferente, em contraponto com o bloco do “se”. 

Assim, você pode direcionar o fluxo de execução para pular blocos e executar exatamente o que se precisa. 

Em um fluxograma, fica fácil entender como funciona um if-else: o IF será um elemento que faz o teste, com ramificações à direita e à esquerda; depois do teste, o IF direciona para um lado do fluxograma se o teste for válido; e para outro lado, se o teste for invalido.

Esse teste envolve diversos tipos de dados. É possível fazer um teste lógico, por exemplo, para analisar se uma variável é verdadeira ou falsa; um teste de comparação aritmética, para verificar se uma variável é maior do que um número; e pode-se analisar igualdade entre variáveis, etc.

O tipo de teste varia dependendo da lógica e do que se precisa.

A estrutura condicional if-else no python é uma estrutura mais completa. O ELSE complementa o IF para oferecer ainda mais robustez ao código (como veremos adiante). Contudo, é possível ter apenas o IF, ou seja, uma condicional simples.

Para que é usado o Python if-else?

O if-else no Python é usado, sobretudo, para fazer uma execução andar, após análise de condições preestabelecidas. Serve para avaliar todas as opções possíveis e evitar erros no código.

Por exemplo, considere que o programador não está usando devidamente a estrutura condicional. Então, o programa pode cair em alguma situação de erro não tratada ou em alguma inconsistência não planejada. 

Isso fará com que o programa funcione de modo inesperado.

Digamos que precisamos de um programa simples para escrever uma mensagem de alerta sobre título eleitoral para pessoas com mais de 16 anos de idade. No nosso exemplo, as que possuem menos de 16 anos precisam também de uma mensagem oficial para elas dizendo que não precisam de um título.

Então, como descobrir quais são as pessoas com a idade de votar e de fato enviar a mensagem correta? O if-else do python ajuda nessa situação.

Pode-se fazer uma comparação aritmética no IF, buscando as pessoas com maior de 16 anos. Então, o bloco de comandos será o print na tela sobre a lembrança de tirar o título. 

O ELSE poderá vir com uma mensagem específica para aqueles que não estão na idade correta ainda. 

Caso o programador não fizesse as estruturas condicionais corretamente, não seria possível enviar as mensagens certas, e o programa iria falhar com seu principal propósito. 

Caso faltasse o ELSE, por exemplo, as pessoas não maiores de 16 anos ficariam sem uma mensagem, o que, segundo os requisitos do nosso exemplo, configura um erro. 

O if-else serve também para que um código seja executado apenas algumas vezes, limitadamente, somente quando necessário de fato. 

Em alguns casos, há uma estrutura complexa em que se precisa fazer uma comparação dentro de um IF. Essa comparação só será feita caso o primeiro IF permita que o fluxo passe, economizando tempo e recurso. 

DIferenças na estrutura Python 

Vamos entender melhor em termos de estrutura como funciona o if-else no Python.

Else em Python

O ELSE surge depois do IF, em complemento lógico a ele. Então, não existe hipótese de escrever um ELSE sem um IF antes. 

Geralmente, o ELSE não requer um teste, uma comparação, pois ele executa algo caso a comparação do IF não passe. 

Portanto, você só precisa declarar o ELSE e adicionar o bloco de comandos. 

IF em Python

Já o IF deve propor alguma coisa. É preciso escrever o IF e logo depois colocar a condição analisada. Então, em seguida, o bloco de comandos. 

Elif em Python

O elif é uma estrutura intermediária dentro da seção if-else no python e deve vir como um complemento a ambos. Quando você já tem um IF e um ELSE, mas precisa de uma condição para especificar outra regra, pode usar o elif.

Caso algo não tenha ficado exatamente claro, não se preocupe: estudaremos em detalhes como se faz o código dessas estruturas em um tutorial prático. 

Como Usar as Estruturas Condicionais no Python

Antes de partir para a prática é bom entender o que é uma estrutura condicional, isso é bem simples, mas é importante que entenda bem!

Uma estrutura condicional, como o próprio nome já diz é uma estrutura que vai analisar uma condição e baseado no resultado dessa condição é que vamos executar uma determinada ação.

Vamos iniciar com a função IF, traduzindo ela significa SE. Então fica mais fácil de entender.

Um exemplo simples, SE 10 for maior que 5, então vamos executar uma ação, caso contrário não vamos fazer nada.

Então a função IF vai executar uma ação somente se a condição testada for verdadeira, nesse caso vai executar tudo que estiver dentro dela (com a indentação, espaçamento que temos abaixo do IF para mostrar que as informações fazem parte dele).

Estrutura IF
Estrutura IF

Aqui temos um exemplo bem simples para iniciar e já te mostrar a estrutura da função. Estamos definindo 2 variáveis e uma lista.

Logo abaixo temos duas funções IF para que você veja o que acontece. Na primeira quando deixamos somente if + a variável o Python vai verificar se essa variável é vazia ou não.

Ou seja, nesse caso ele só vai fazer a verificação se temos informação ou não dentro dessa variável.

Como temos 2 funções IF, as duas estão fazendo a mesma verificação, mas perceba que temos somente 1 resultado.

Nesse caso a variável nome tem uma informação, que é Daniel, então é verdadeiro, pois temos algo dentro da variável.

No segundo caso, como não temos informação o Python vai ver que a variável é vazia, portanto, não temos nada e com isso o resultado é falso.

Como o resultado é falso o Python não vai passar pelo código que está dentro do IF, ou seja, tudo que está dentro do IF será desconsiderado.

Isso quer dizer que só vamos ter o código dentro do IF sendo executado se a condição for verdadeira, caso contrário ele vai simplesmente pular esse código e passar para a próxima linha de código que esteja fora dessa estrutura.

Antes de ir para os próximos exemplos vamos aprender como usar operadores lógicos no Python, pois eles vão te ajudar muito nessas funções para poder fazer suas comparações.

Operadores Lógicos no Python
Operadores Lógicos no Python

Agora você vai ter uma noção melhor de como utilizar o IF sem apenas verificar se temos ou não informação na variável.

Podemos fazer comparações se um valor ou texto é igual ao outro, se um valor é maior, menor, igual, etc.

Estrutura ELSE
Estrutura ELSE

Aqui temos outro exemplo já utilizando a função ELSE (que seria o senão). Isso quer dizer que vamos primeiramente testar a informação do IF e, se ela não for verdadeira, nós vamos para essa opção.

Dessa forma, teremos 2 resultados para essa nossa comparação, um para verdadeiro e outro para falso.

Nesse caso, é possível observar que fizemos uma comparação entre 2 números, e, como a primeira comparação é falsa, ele já foi para o ELSE.

Então, você vai ler, se valor1 é maior do que o valor2, então executa o que está dentro do IF; senão, executa o que está dentro do ELSE.

Só que algumas vezes nós precisamos de mais de 2 resultados, como no caso de um semáforo de trânsito.

Se tivermos verde, quer dizer que podemos passar; mas no amarelo já precisamos de atenção; e no vermelho precisamos parar.

Então, ao invés de utilizar 3 vezes a função IF, ou usar IF ELSE e depois outro IF, nós temos a função ELIF, que seria basicamente a junção de um ELSE + IF.

Estruturas Condicionais no Python
Estrutura ELIF

Aqui temos uma variável com um texto e temos 2 opções, mas com 3 resultados. Primeiro, vamos verificar se o texto é verde; se for, temos o resultado “acelerar”.

Se o texto não for verde, nós vamos para a segunda comparação, que é se é amarelo. Então, se for verdadeiro, teremos o resultado “atenção”. 

Por fim, temos o ELSE (senão), que independe da informação que temos, pois o ELSE só vai ser executado se as opções anteriores forem falsas, então é basicamente o que sobra.

Então, se não é verde nem amarelo, só poderia ser vermelho. Assim, o resultado seria “parar”.

OBS: Nesse caso, você percebeu que, mesmo colocando um texto qualquer, nós tivemos o resultado do que seria o semáforo em vermelho. Isso acontece por conta do ELSE e porque não colocamos nenhum outro IF para verificar se o texto é de fato vermelho.

Então, é muito importante que você sempre verifique se está cobrindo todas as possibilidades para que não tenha um resultado errado.

Você vai ver muito isso quando estiver debugando (verificando por erros) um código. 

Nesse caso, poderíamos ter colocado outro ELIF para verificar se o texto é vermelho e, dentro do ELSE, informar que a informação não é válida ou algo do tipo.

Estruturas Condicionais no Python
Estrutura IF com FOR

Aqui temos outro exemplo utilizando o IF com FOR para que possamos fazer várias verificações dentro de uma estrutura de repetição.

Nesse caso, temos uma lista com alguns nomes e vamos percorrer todos os itens dessa lista para verificar se o nome é igual a Daniel.

Isso mostra que podemos utilizar a função IF com ELSE, com ELIF e com FOR. Claro que em todos esses casos estamos utilizando a função print no Python.

Mas nada te impede de colocar um código que execute uma ação, que faça um cálculo, que busque uma informação.

São inúmeras as possibilidades. Aqui estamos apenas mostrando a maneira mais didática para que você aprenda como essas estruturas funcionam aplicá-las nos seus códigos!

Para finalizar, vamos mostrar algo um pouco mais complexo: uma análise de ordens de uma empresa fictícia.

Estruturas Condicionais no Python
Junção das estruturas par um exemplo prático

Aqui nós temos uma lista com todas as ordens e precisamos identificar cada uma das ordens baseado no número inicial de cada uma delas.

Por isso, estamos utilizando o [0] para obter a posição de número 0 (primeiro elemento) de cada uma dessas ordens.

OBS: No Python, nós começamos a analisar os elementos da posição 0 em vez de começar na posição 1.

Veja que rapidamente conseguimos fazer uma separação de todas as ordens sem a necessidade de analisar uma por uma. Ou seja, com if-else no Python podemos fazer isso de forma automática!

A indentação nas estruturas condicionais no Python if-else 

Um aspecto interessante das estruturas condicionais no Python é o fato de que elas não envolvem chaves ou demarcadores de início do bloco de comandos. 

Isso é feito de forma natural, com a chamada indentação. Essa forma de codificar segue a filosofia de limpeza e minimalismo da linguagem.

Por isso, depois de escrever o IF e a condição, o programador deve usar o tab para começar o comando com um recuo na próxima linha. Isso indica que aquele comando faz parte do IF. 

Caso o código não esteja indentado (um erro muito comum), o compilador vai entender que aquele código está fora do IF e deve ser executado somente quando o IF terminar. 

Vantagens de programar com Python if-else 

O if-else no python é uma estrutura extremamente moderna e útil. Além de usar a indentação como uma forma de limpar o código, há também diversos atalhos para as comparações, o que torna a programação bem eficaz e simples.

Ou seja, a própria linguagem já entende as comparações e dispensa a escrita de todos os elementos, como se faz geralmente em outras linguagens como C e Java. 

Conclusão

Como vimos, é importante entender bem a estrutura if-else no Python e saber como aplicar e como codificar de fato usando essa estrutura. Afinal, esse tipo de comando será usado praticamente em todo programa.

Com uma boa estrutura lógica, se garante menos erros no código, maior agilidade, o cumprimento dos requisitos e sucesso nos projetos. 

Confira outras publicações sobre Python e continue aprendendo!


Quer aprender mais sobre Python com um minicurso gratuito?


Quer receber um minicurso 100% gratuito de Excel? Preencha seu e-mail abaixo!