Estrutura condicional IF/ELSE no Python – Passo a Passo

Estrutura Condicional IF/ELSE em Python - Passo a Passo



Neste post daremos continuidade com o aprendizado sobre a linguagem Python, onde iremos aprender a utilizar a estrutura condicional if/else, para criar programas mais “interessantes” onde em algumas instruções irão existir avaliações condicionais, que irá decidir se determinados comandos serão executados ou não, de acordo com o resultado do “teste lógico”.

Se você que está lendo esse post pela primeira vez não tem nenhuma noção (mas nenhuma noção mesmo) do que é a linguagem Python, recomendo que você leia meu post sobre a introdução a linguagem, que deixo aqui abaixo:

https://lucianodev.com.br/blog/introducao-a-linguagem-python-2022/

Estrutura IF/ELSE – Exemplo 1

 Os programas que desenvolvemos nos posts anteriores cada comando, presente em sua respetiva linha, era executado em sequência uma instrução após a outra, porém poderá acontecer casos em que para que um comando (ou bloco de comandos) seja executado, uma determinada condição precisa ser satisfeita, é aí que entra a estrutura IF/ELSE.

Através dessa estrutura condicional podemos decidir se um comando será executado ou não mediante a um teste lógico. Vejamos a sintaxe a estrutura abaixo:

if(<condição>):
 <comandos>

Aqui temos uma demonstração do do if (sem o else) onde o comando dentro dessa estrutura só será executado se a <condição> (teste lógico) retornar um valor verdadeiro, caso contrário nenhum comando do if será executado.

Obs.: No Python em especial (exceto a maioria das linguagens) todos os comandos dentro da estrutura if (e de outras que a linguagem possui) devem estar indentados (ou seja, não podem estar no mesmo alinhamento e devem começar com pelo menos UM ESPAÇO EM BRANCO ou TABULAÇÃO). Veja um exemplo:

if(<condição>)
<comando> #Erro, o <comando> está no mesmo alinhamento da palavra if

if(<condição>)
    <comando> #Correto, indentado dentro do if com a tabulação (espaço serve também)

Para demonstrar o uso do if vamos começar criando um pequeno programa onde deverá ser informado um número inteiro qualquer, onde logo após a sua leitura deverá ser mostrado na tela o valor lido e, caso o número seja maior que 1000, mostrar na tela uma mensagem dizendo “que esse número é maior do que 1000”.

Abra o ambiente de programação Python IDLE (Se não tenha instalado leia os posts anteriores, lá mostro como instalar) e em seguida crie um novo arquivo em branco e digite o seguinte bloco de comandos abaixo:

numero = int(input("Digite um número inteiro qualquer: "))

print("Você digitou ", numero)

if(numero > 1000):
    print("O número digitado é maior que 1000")

Salve o arquivo (CTRL + S) no seu computador (com o nome que você desejar) e em seguida execute essa aplicação DUAS VEZES, na primeira você irá digitar um número inteiro qualquer abaixo de 1000 e na outra execução digitará um número qualquer acima de 1000 e veja o resultado da execução de ambos:

Nesse programa que desenvolvemos, logo após as primeiras instruções (input e print), temos a estrutura condição if onde perguntamos se variável número (que armazena o número digitado pelo usuário) é maior do que 1000:

if(numero > 1000):

Se a condição acima for verdadeira, o comando print dentro do if será executado:

print("O número digitado é maior que 1000")

Caso contrário (ou seja, se o número for menor ou igual a 1000), a mensagem acima NÃO SERÁ EXIBIDA.

Estrutura IF/ELSE – Exemplo 2

Agora vamos desenvolver mais um exemplo utilizando agora a estrutura if com o else onde podemos executar uma instrução seja o teste lógico for verdadeira e outra instrução se o teste for falso (que é a função no else). Essa estrutura possui a seguinte sintaxe:

if(<condição>):
 <comandos executados se a condição for verdadeira>
else:
 <comandos executados se a condição for falsa>

O exemplo que iremos desenvolver será o seguinte: Efetuaremos a leitura da média do aluno via teclado e o programa deverá mostrar no final se o aluno está aprovado (se a média >=7) ou reprovado (caso a média seja < 7).

Crie um novo arquivo e digite o seguinte código abaixo:

media = float(input("Digite a média do aluno: "))

if(media>=7):
 print("O aluno está APROVADO")
else:
 print("O aluno está REPROVADO")

Salve o arquivo e execute esse programa duas vezes: Na primeira digite uma média maior ou igual a 7, e na segunda vez digite uma média menor que 7. Vejamos os resultados:

Vamos entender a estrutura do if/else deste programa. Observe que é feita uma pergunta no if onde questionamos se a média do aluno (armazenada na variável média) é maior ou igual (>=) a 7):

if(media>=7):

Caso o valor armazenado seja maior ou igual a 7, o teste lógico será verdadeiro, logo a instrução logo após o if seja executada:

print("O aluno está APROVADO")

Se por acaso a média fosse menor ou igual a 7, o comando dentro da estrutura else será executado:

print("O aluno está REPROVADO")

[wbcr_html_snippet id=”772″]

Operadores relacionais

 Dentro do teste lógico do if/else usamos muito operadores relacionais. Vejamos abaixo todos os operadores relacionais disponíveis na linguagem:

Estrutura IF/ELSE – Exemplo 3 (Múltiplos ifs)

Demonstramos aqui que o uso do if/else é muito importante quando precisamos tomar decisões, onde podemos executar uma instrução (se a condição for verdadeira) ou outra (se a condição for falsa), mas pode acontecer de ser necessário realizar de inúmeros testes com vários ifs um após o outro.

Olha essa situação: Precisamos efetuar a leitura da média do aluno e ao final nosso programa mostrar se o aluno esta:

  • Aprovado (Se média >= 7)
  • Prova Final (Se média for >= 5, já considerando que ele é < 7)
  • Reprovado (Caso nenhuma das condições anteriores for atendida)

Crie um novo arquivo no Python e escreva o seguinte código abaixo:

media = float(input("Digite a média do aluno: "))

if(media>=7):
 print("O aluno está APROVADO")
else:
 if(media>=5):    
   print("O aluno está EM PROVA FINAL")
 else:
   print("O aluno está REPROVADO")

Experimente executar o programa após escrever o código e salvar. Vejamos o resultado:

Operadores lógicos

 Nos exemplos desenvolvidos até agora, em cada if era feita uma única pergunta, mas pode acontecer de ser necessário dentro de um if realizarmos MAIS DE UM TESTE (PERGUNTA), e aí que entra os operadores lógicos.

Operador lógico E – AND

Usamos o operador AND (E) quando precisamos fazer mais de uma pergunta, e ao final o retorno do teste pode ser verdadeiro (quando todas as perguntas analisadas pelo operador forem verdadeiras) ou falso (quando pelo menos uma das perguntas for falsa).

Vejamos uma demonstração do programa Python abaixo:

media = float(input("Digite a média do aluno: "))

quantidadeFaltas = int(input("Digite a quantidade de faltas: "))

#Usando o operador E (And) 
#Para que o aluno seja aprovado, sua média precisa ser >= 7 a quantidade
#de faltas <= 4

if((media >=7) and (quantidadeFaltas <= 4)):
 print("O aluno está aprovado")
else:
 print("O aluno está reprovado")

Execute o programa e faça os testes:

Operador lógico OU – OR

Usamos o operador OR (OU) quando precisamos fazer mais de uma pergunta, e ao final o retorno do teste pode ser verdadeiro (quando pelo menos uma pergunta for verdadeira) ou falso (quando todas as perguntas forem falsas).

Vejamos uma demonstração do programa Python abaixo:

mediaPortugues = float(input("Digite a média de português: "))
mediaMatemarica = float(input("Digite a média de matematica: "))


#Usando o operador OU (Or) 
#Mostra se o aluno está aprovado em alguma matéria ou reprovou em todas

if((mediaPortugues >=7) or (mediaMatemarica >= 7)):
 print("O aluno está aprovado em pelo menos uma matéria")
else:
 print("O aluno está reprovado em todas as matérias")

Execute o programa e faça os testes:

Considerações finais

E aí, gostou de aprender sobre programação condicional usando if/else na linguagem Python? Se gostou ou quer de fazer qualquer observação sobre esse (ou outros posts sobre Python) deixe seu comentário.

Em Breve estarei escrevendo mais posts sobre programação em Python (e, futuramente, um E-BOOK sobre a linguagem será lançado).

Me siga nas redes sociais:

Instagram: @lucianodevoficial

Facebook: @lucianodevoficial

Um forte abraço e até a próxima

 

Deixe um comentário