Estruturas Condicionais: Tomando Decisões com o Código em Python 🐍 Etapa 03

 Seja muito bem-vindo à Academy Code Christ!


🌍 Academy Code Christ está disponível em vários idiomas.
Fique à vontade para usar o tradutor na Barra lateral (Sidebar) e aprender no seu idioma.

Python 🐍 Etapa 03

Tomando Decisões com o Código



📚 Continue sua jornada de aprendizado


A Academy Code Christ oferece trilhas de aprendizado em diferentes tecnologias. Explore os cursos, acompanhe as aulas e avance em sua jornada de conhecimento acessando os menus correspondentes:



💻 Pratique o que você aprende


🎯 Por que precisamos de decisões no código?


Imagine que você está criando um aplicativo que calcula a média de um aluno e informa se ele foi aprovado ou reprovado.

 Para isso, o programa precisa tomar uma decisão: se a média for maior ou igual a 7, ele exibe “Aprovado”; do contrário, “Reprovado.”

Esse tipo de escolha é feito através de estruturas condicionais — instruções que permitem ao programa verificar situações e reagir de forma diferente dependendo do resultado.

Em linguagem natural:

Se a média for maior ou igual a 7 → mostrar “Aprovado”.
Caso contrário → mostrar “Reprovado”.

Em Python, usamos a estrutura if para representar esse tipo de lógica.


A estrutura if

A palavra‑chave if significa “se”.

nota = 8

if nota >= 7:

    print("Aprovado!")

 

O Python verifica a condição nota >= 7.

●     Se for verdadeira, executa o código indente‑do logo abaixo do if.


●     Caso contrário, simplesmente ignora aquele bloco.

Saída:

Aprovado!

 

Observe a identação (os espaços antes da linha dentro do bloco).


Em Python, a identação é obrigatória e indica o agrupamento de comandos pertencentes à mesma condição.

Convencionalmente, usamos 4 espaços:

if nota >= 7:

    print("Aprovado!")  # quatro espaços de recuo

 

Se esquecer de indentar corretamente, o Python exibirá um erro de sintaxe.


A estrutura if … else

Quase sempre precisamos de uma ação para o caso da condição ser falsa.

Para isso usamos o else (senão).

nota = 6

if nota >= 7:

    print("Aprovado!")

else:

    print("Reprovado.")

 

Saída:

Reprovado.

 

O bloco dentro de else executa somente quando a condição do if é falsa.


Introduzindo o elif

Às vezes há mais de uma condição a verificar.


Nessas situações usamos elif (abreviação de “else + if”).

nota = 8

 

if nota >= 9:

    print("Excelente!")

elif nota >= 7:

    print("Aprovado.")

else:

    print("Reprovado.")

 

O Python avalia as condições em ordem:


1.    Se nota >= 9 for verdadeira, executa a primeira opção e para ali.

2.    Caso contrário, testa nota >= 7.

3.    Se nenhuma for verdadeira, cai no else.

Saídas possíveis dependendo da nota:


 - 9 ou 10 → Excelente!
 - 7 ou 8 → Aprovado.
 - Menos que 7 → Reprovado.

Esse encadeamento é extremamente comum em qualquer linguagem.


Blocos aninhados (if dentro de if)

Também é possível colocar uma estrutura condicional dentro de outra.

Isso se chama aninhamento (ou nested if).

idade = 20

habilitado = True

 

if idade >= 18:

    if habilitado:

        print("Pode dirigir.")

    else:

        print("Maior de idade, mas sem habilitação.")

else:

    print("Menor de idade.")

 

Saída:

Pode dirigir.

 

Embora útil, evite criar muitos níveis de aninhamento, pois isso dificulta a leitura do código.
Quando perceber padrões repetitivos, considere combinar condições usando operadores lógicos.


Operadores lógicos e condicionais juntos


Você pode unir mais de uma verificação em um mesmo if, com os operadores and, or e not.

idade = 25

possui_cnh = True

 

if idade >= 18 and possui_cnh:

    print("Permissão para dirigir concedida!")

 

Nesse caso, o bloco só será executado se as duas condições forem verdadeiras.


Outro exemplo:

usuario = "admin"

senha = "1234"

 

if usuario == "admin" and senha == "1234":

    print("Acesso permitido.")

else:

    print("Usuário ou senha incorretos.")

 

Saída:

Acesso permitido.

 


Condições compostas e precedência


Quando há múltiplos operadores, o Python segue uma ordem de precedência — assim como na matemática.

Ordem (do mais forte ao mais fraco):

1.    Parênteses ()

2.    Operadores relacionais (>, <, ==, !=)

3.    not

4.    and

5.    or

Sempre que quiser deixar o raciocínio mais claro, use parênteses:

idade = 16

autorizado = True

 

if (idade >= 18) or (idade >= 16 and autorizado):

    print("Entrada liberada.")

else:

    print("Entrada negada.")

 

Condições encadeadas em uma linha


Python permite simplificar if‑else curtos usando uma forma compacta:

mensagem = "Aprovado" if nota >= 7 else "Reprovado"

print(mensagem)

 

Essa linha equivale a:

if nota >= 7:

    mensagem = "Aprovado"

else:

    mensagem = "Reprovado"

 

É muito útil em casos simples, mas cuidado para não abusar — a legibilidade é sempre prioridade.


Valores considerados “verdadeiros” e “falsos”

Em Python, qualquer expressão pode ser testada como verdadeira ou falsa.

Além dos valores lógicos (True, False), existem valores que o interpretador considera falsos:

- 0, 0.0, 0j (zero)
 - "" (string vazia)
 - [], {}, () (coleções vazias)
 - None (valor nulo)

Exemplo:

texto = ""

if texto:

    print("Texto preenchido.")

else:

    print("Texto vazio.")

 

Saída:

Texto vazio.

 

Isso permite escrever verificações bem compactas:

if lista:

    print("A lista possui elementos.")

 


Uso prático: calculadora de notas


Vamos reunir o que aprendemos em um pequeno programa:

nota1 = float(input("Digite a 1ª nota: "))

nota2 = float(input("Digite a 2ª nota: "))

 

media = (nota1 + nota2) / 2

print(f"Média: {media:.1f}")

 

if media >= 9:

    print("Conceito A - Excelente!")

elif media >= 7:

    print("Conceito B - Bom desempenho.")

elif media >= 5:

    print("Conceito C - Regular, precisa melhorar.")

else:

    print("Reprovado.")

 

Esse exemplo combina:

●     Entrada de dados (input)

●     Cálculos

●     Estrutura condicional múltipla (if / elif / else)

●     Saída formatada (print(f"…"))


Verificação de múltiplos valores


Muitos programas precisam testar se um valor pertence a uma coleção (lista, tupla, conjunto).

Exemplo:

cores = ["vermelho", "azul", "verde"]

cor = input("Escolha uma cor: ")

 

if cor in cores:

    print("Cor disponível!")

else:

    print("Cor não encontrada.")

 

O operador in verifica se determinado elemento está dentro de uma sequência.
Ele é extremamente poderoso e será amplamente usado em capítulos futuros.


Cuidado com erros comuns

1.    Esquecer os dois‑pontos (:)
 Depois de cada if, elif e else, o Python exige : para indicar o início do bloco.

2.    Errar a identação.
 Todos os comandos pertencentes ao mesmo bloco devem ter o mesmo nível de recuo.
 Misturar espaços e tabulação causa erros.

Usar = em vez de ==.
 - = é atribuição.
 - == é comparação.

 if a == 10:  # Certo

    ...

3.    Comparar tipos diferentes sem conversão.

 Por exemplo:

 idade = input("Idade: ")

if idade >= 18:  # Erro! idade é string

    ...

     4.  Solução:


 idade = int(input("Idade: "))

 


Desafio prático: classificador de números


Crie um programa que:

1.    Peça um número inteiro.

2.    Exiba se ele é positivo, negativo ou zero.

3.    Indique também se é par ou ímpar.

Dica:

num = int(input("Informe um número: "))

 

if num > 0:

    print("Número positivo")

elif num < 0:

    print("Número negativo")

else:

    print("Zero")

 

if num % 2 == 0:

    print("Número par")

else:

    print("Número ímpar")

 

Isso demonstra como podemos usar várias decisões independentes dentro de um mesmo programa.


Exemplo aplicado: sistema simples de login


Para consolidar:

usuario_cadastrado = "python_user"

senha_cadastrada = "abc123"

 

usuario = input("Usuário: ")

senha = input("Senha: ")

 

if usuario == usuario_cadastrado and senha == senha_cadastrada:

    print("Login bem-sucedido!")

else:

    print("Credenciais incorretas.")

 

Esse exemplo simula um login básico no terminal com comparação simultânea de duas variáveis.


Resumo 

Nesta etapa, você aprendeu:

 ✅ Como usar if, elif e else para controlar o fluxo do programa.
 ✅ Importância da
identação e dos dois‑pontos (:).
 ✅ Combinação de condições com operadores lógicos (
and, or, not).
 ✅ Valores “falsos” nativos (
0, "", None, etc.).
 ✅ Criação de programas dinâmicos e interativos com tomadas de decisão reais.

As estruturas condicionais são a base da inteligência dos programas.

Elas permitem que o software responda de maneira diferente conforme o contexto — como um formulário que verifica o login, ou um sistema que decide se um cliente recebe desconto.

Na próxima etapa, vamos expandir ainda mais essa lógica e aprender a repetir ações automaticamente, explorando o poder dos laços de repetição (for e while).



Este conteúdo faz parte do Academy Code Christ. 

Um projeto criado para ajudar jovens e iniciantes a aprender programação do zero, de forma simples e gratuita.

Nossa missão é compartilhar conhecimento e incentivar mais pessoas a descobrir que também podem aprender tecnologia, criar projetos e desenvolver novas habilidades.
Todo o conteúdo é disponibilizado gratuitamente, de forma clara, prática e 
sem enrolação. 

Você pode apoiar o projeto se quiser 
com um café. 



Post a Comment

Postagem Anterior Próxima Postagem