Coletânea Python do ZERO às Redes Neurais Artificiais
Ifs, elifs e elses
Uma das partes mais legais de programação, sem sombra de dúvidas, é quando finalmente começamos a lidar com estruturas condicionais. Uma coisa é você ter um programa linear, que apenas executa uma tarefa após a outra, sem grandes interações e desfecho sempre linear, como um script passo-a-passo sequencial.
Já outra coisa é você colocar condições, onde de acordo com as variáveis o programa pode tomar um rumo ou outro.
Como sempre, começando pelo básico, em Python a sintaxe para trabalhar com condicionais é bastante simples se comparado a outras linguagens de programação, basicamente temos os comandos if (se), elif (o mesmo que else if / mas se) e else (se não) e os usaremos de acordo com nosso algoritmo demandar tomadas de decisão.
A lógica de execução sempre se dará dessa forma, o interpretador estará executando o código linha por linha até que ele encontrará uma das palavras reservadas mencionadas anteriormente que sinaliza que naquele ponto existe uma tomada de decisão, de acordo com a decisão que o usuário indicar, ou de acordo com a validação de algum parâmetro, o código executará uma instrução, ou não executará nada, ignorando esta condição e pulando para o bloco de código seguinte.
Partindo pra prática:
Declaradas três variáveis a, b e c com seus respectivos valores já atribuídos na linha abaixo existe a expressão if, uma tomada de decisão, sempre um if será seguido de uma instrução, que se for verdadeira, irá executar um bloco de instrução indentado a ela.
Neste caso, se b for maior que a será executado o comando print( ).
O retorno será: b é MAIOR que a
*Caso o valor atribuído a b fosse menor que a, o interpretador simplesmente iria pular para o próximo bloco de código.
Repare que agora além da condicional if existe uma nova condicional declarada, o elif. Seguindo o método do interpretador, primeiro ele irá verificar se a condição de if é verdadeira, como não é, ele irá pular para esta segunda condicional.
Por convenção da segunda condicional em diante se usa elif, porém se você usar if repetidas vezes, não há problema algum.
Seguindo com o código, a segunda condicional coloca como instrução que se b for igual a a, e repare que nesse caso é, será executado o comando print.
O retorno será: b é IGUAL a a *Como comentamos rapidamente lá no início do livro, sobre algoritmos, estes podem ter uma saída ou não, aqui a saída é mostrar ao usuário esta mensagem de erro, porém se este fosse um código interno não haveria a necessidade dessa mensagem como retorno, supondo que essas condições simplesmente não fossem válidas o interpretador iria pular para o próximo bloco de código executando o que viesse a seguir.
Por fim, o comando else funciona como última condicional, ou uma condicional que é acionada quando nenhuma das condições anteriores do código for verdadeira, else pode ter um bloco de código próprio porém note que ele não precisa de nenhuma instrução, já que seu propósito é justamente apenas mostrar que nenhuma condicional (e sua instrução) anterior foi válida. Ex:
Por fim, revisando os códigos anteriores, declaramos várias variáveis, e partir delas colocamos suas respectivas condições, onde de acordo com a validação destas condições, será impresso na tela uma mensagem.
Importante entendermos também que o interpretador lê a instrução de uma condicional e se esta for verdadeira, ele irá executar o bloco de código e encerrar seu processo ali, pulando a verificação das outras condicionais.
Em suma, o interpretador irá verificar a primeira condicional, se esta for falsa, irá verificar a segunda e assim por diante até encontrar uma verdadeira, ali será executado o bloco de código indentado a ela e se encerrará o processo.
O legal é que como python é uma linguagem de programação dinamicamente tipada, você pode brincar à vontade alterando o valor das variáveis para verificar que tipos de mensagem aparece no seu terminal.
Também é possível criar cadeias de tomada de decisão com inúmeras alternativas, mas sempre lembrando que pela sequência lógica em que o interpretador faz sua leitura é linha-a-linha, quando uma condição for verdadeira o algoritmo encerra a tomada de decisão naquele ponto.