1
resposta

CLASSIFICANDO ESTUDANTES POR MÉDIA

Prezados(as),
Boa Tarde,

Segue a implementação da solução para o exercício: Classificando estudantes por média

# AREA DE VARIÁVEIS

# Solicita as três notas ao usuário
nota1 = float(input("Informe a primeira nota..: "))
nota2 = float(input("Informe a segunda nota...: "))
nota3 = float(input("Informe a terceira nota..: "))

# PROCESSAMENTO E SAÍDA

print("\n--- CLASSIFICAÇÃO DO ESTUDANTE POR MÉDIA ------------------\n")
# Calcula a média das notas
media = (nota1 + nota2 + nota3) / 3
print(f"Média Final: {media:.2f}")

# Classifica o aluno com base na média
if media >= 7:
  print("Situação: Aprovado")
elif 5 <= media < 7:
  print("Situação: Recuperação")
else:
  print("Situação: Reprovado")
print("-----------------------------------------------------------")
1 resposta

Olá, Luiz Fernando. Como vai?

Sua implementação ficou excelente! O código está muito limpo, bem documentado e com a lógica de cálculo e tomada de decisão perfeitamente alinhada com as regras de negócio de uma instituição de ensino tradicional.

A forma como você utilizou os operadores de comparação encadeados no elif 5 <= media < 7: é muito elegante e demonstra um ótimo domínio da sintaxe do Python. A formatação da saída com {media:.2f} também foi perfeita, garantindo que o resultado na tela exiba apenas duas casas decimais, o que é o padrão para notas escolares.

Para somar aos seus estudos e trazer novos pontos de debate sobre estruturas condicionais aqui para o fórum, preparei duas dicas: uma sobre a ordem lógica do fluxo e outra sobre uma validação de segurança importante para sistemas acadêmicos.


1. Simplificando a Condição do elif

Assim como vimos no exercício do IMC, você pode deixar a linha do seu elif ainda mais simples e limpa.

Como o interpretador do Python lê o código de cima para baixo, se o programa chegou a testar o elif, é porque a condição do primeiro if (media >= 7) resultou em falsa. Ou seja, o Python já sabe que a média é menor do que 7.

Portanto, você não precisa repetir o teste media < 7. Pode escrever apenas:

elif media >= 5:
    print("Situação: Recuperação")

O código fica mais direto, mais fácil de ler e o interpretador faz um teste lógico a menos nos bastidores.


2. Dica de Ouro: Protegendo as Entradas de Dados

Em sistemas escolares reais, um problema comum que os desenvolvedores precisam tratar são as notas impossíveis (como o usuário digitar uma nota -5.0 ou 12.0 por engano).

Como boa prática de programação, nós podemos adicionar o conceito de cláusula de guarda no início do processamento para garantir que todas as notas inseridas estão dentro do intervalo permitido (entre 0 e 10) antes de calcular a média. Veja como ficaria:

# Validação de segurança para garantir notas válidas (entre 0 e 10)
if not (0 <= nota1 <= 10 and 0 <= nota2 <= 10 and 0 <= nota3 <= 10):
    print("Erro: Todas as notas devem estar entre 0.0 e 10.0.")
else:
    # Se todas as notas forem válidas, o sistema calcula a média normalmente
    media = (nota1 + nota2 + nota3) / 3
    print(f"Média Final: {media:.2f}")

    if media >= 7:
        print("Situação: Aprovado")
    elif media >= 5:
        print("Situação: Recuperação")
    else:
        print("Situação: Reprovado")

Parabéns pelo capricho no alinhamento visual dos inputs e pela consistência na estrutura de todos os seus projetos! Continue compartilhando suas evoluções com a nossa comunidade.

Espero que possa ter lhe ajudado!