Python 3: Estruturas de Decisão

Aulas

Aulas do Curso de Python 3

  1. Configurando o Ambiente e Primeiro Programa
  2. Variáveis e Comando Escreva
  3. Entrada de Dados e Resolvendo Primeiro Exercício
  4. Estruturas de Decisão
  5. Resolução de Exercícios Usando Estruturas de Decisão
  6. Listas
  7. Estruturas de Repetição

No tutorial de hoje vamos aprender sobre estruturas de decisão.

Estruturas de decisão são chamadas assim pois decidem como deve seguir o fluxo de execução do nosso programa, ou seja, selecionam se o código deve seguir por um caminho ou por outro.

Comando IF

Vamos começar pela estrutra mais simples, o comando if (em português: "se"), o fluxograma abaixo detalha o funcionamento do if em um programa:

Figura 1

Ou seja, seu código vai executar normalmente até chegar na estrutura de decisão, então uma condição será testada, se essa condição for verdade executaremos um trecho de código e em seguida continuamos nosso programa, caso a condição seja falsa, simplesmente continuamos nosso prorama. Veja essa ideia traduzida em código Python:

nota = input()  #Recebemos a nota do aluno como entrada.
nota = int(nota) #Transformamos a nota de <b>str</b> para <b>int</b>

if nota >= 7:
    print("Aluno aprovado")
    
print("Fim do Semestre! \\o/")

Como você viu acima a sintaxe (a forma como se escreve) o comando if é: if seguido de uma condição, seguindo de dois pontos ('😂.

Agora precisamos nos atentar para algo muito importante, precisamos entender o conceito de bloco de código. Estruturas de decisão, controle e funções exigem um bloco de código, ou seja, precisamos delimitar o código que pertence a uma determinada estrutura. Várias linguagens decidiram usar chaves ('{' e '}') para delimitar quando uma estrutura começa e termina, mas em Python precisamos utilizar algo diferente.

Para delimitar o código do if no exemplo acima, nós simplesmente colocamos o print("Aluno aprovado") com uma identação a mais do que a utilizada no noss programa principal (pressione a tecla TAB para criar uma identação), isso informa ao Python que o print("Aluno aprovado") não pertence ao código principal, mas sim ao comando if. Abaixo nós colocaremos o comando print no lugar errado apenas para ilustrar o que acontecerá caso você cometa esse erro:

#CÓDIGO COM ERROS!!!
nota = input()  #Recebemos a nota do aluno como entrada.
nota = int(nota) #Transformamos a nota de <b>str</b> para <b>int</b>

if nota >= 7:
print("Aluno aprovado")
    
print("Fim do Semestre! \\o/")

Quando executamos esse código obtemos o seguinte resultado:

Figura 2

O interpretador do Python está nos informando que ele esperava uma identação após o comando if mas não encontrou nenhuma, ou seja, ele não sabe que código pertence ao if.

Expressões Condicionais

Quando você utiliza uma estrutura de decisão você precisa passar uma expressão condicional, o if receberá o resultado dessa expressão e decidirá se deve ser executado (caso a expressão seja verdadeira) ou não (caso a expressão seja falsa). Para formar suas expressões em Python você pode utilizar os simbolos listados abaixo:

  • e : and
  • ou : or
  • menor que : <
  • maior que : >
  • menor ou igual : <=
  • maior ou igual : >=
  • igual : ==
  • diferente : !=

Calma, calma. Se você achou que é muita informação para aprender agora, não se preocupe, você vai aprender como utilizar todos esses simbolos de acordo com que passamos por mais exemplos.

Comando ELSE

Além de aprender o comando if precisamos também aprender o comando else (em português: senão). O funcionamento do comando else complementa o comando if conforme podemos perceber no fluxograma abaixo:

Figura 3

Ou seja, quando o a expressão do if é verdadeira execute um trecho de código, caso a expressão seja falsa, execute outro trecho de código. Bem simples! =D. Veja como escrever isso em Python:

nota = input()  #Recebemos a nota do aluno como entrada.
nota = int(nota) #Transformamos a nota de <b>str</b> para <b>int</b>

if nota >= 7:
	print("Aluno aprovado")
else:
    print("Aluno reprovado")
    
print("Fim do Semestre! \\o/")

Nosso exemplo ainda não está completo, afinal, um aluno não é automaticamente reprovado caso tenha nota menor que 7, normalmente ele fica de recuperação. Para representar essa situação nós utilizaremos um novo comando elif (um encurtamente de else if, em português: "senão se").

É mais fácil entender o elif indo direto ao exemplo abaixo:

nota = input()  #Recebemos a nota do aluno como entrada.
nota = int(nota) #Transformamos a nota de <b>str</b> para <b>int</b>

if nota >= 7:
	print("Aluno aprovado")
elif nota >=5:
    print("Aluno de recuperação")
else:
    print("Aluno reprovado")
    
print("Fim do Semestre! \\o/")

Agora o fluxo do nosso programa é o seguinte: "Se a nota do aluno for maior que 7, imprimiremos "Aluno aprovado", caso a nota não seja maior que 7, testamos se a nota é maior que 5 (mas menor que 7), se a nota for maior que 5 imprimiremos "Aluno de recuperação", caso a nota não seja maior ou igual a 5 imprimiremos "Aluno reprovado", no fim, sempre imprimiremos "Fim do Semestre! \o/" (afinal essa é a melhor parte haha)".

Conclusão

Para finalizar nosso tutorial deixo vocês com um exemplo um pouco mais complexo, para ilusrar como utilizar comandos if dentro de outros comandos if, sinta-se livre para brincar com o exemplo abaixo deixe ele da forma que lhe agrada mais. No próximo tutorial consolidaremos nosso conhecimento com resoluções de exercícios.

foi_golpe = input() #Receberemos o valor de entrada, valores esperados: "Sim" ou "Não"

presidente = "Vampirão"

if foi_golpe == "Sim":
	print("Então foi golpe mesmo.")
elif foi_golpe == "Não":
    if(presidente == "Vampirão"):
    	print("Pode ter sido golpe ou não, vamos assistir na Netflix para saber.")
    else:
        print("Foi golpe não.")
else:
    print("Entre só Sim ou Não, aqui não existe Talvez")

Até a próxima e bons estudos!

Comentários