1
resposta

Prática - Classificando estudantes por média

# Entrada das notas
nota1 = float(input("Digite a primeira nota: "))
nota2 = float(input("Digite a segunda nota: "))
nota3 = float(input("Digite a terceira nota: "))

# Cálculo da média
media = (nota1 + nota2 + nota3) / 3

# Exibição da média com duas casas decimais
print(f"Média: {media:.2f}")

# Verificação da situação
if media >= 7:
    print("Situação do aluno: Aprovado!")
elif media >= 5:
    print("Situação do aluno: Recuperação!")
else:
    print("Situação do aluno: Reprovado!")

Saída:

Digite a primeira nota: 5.3
Digite a segunda nota: 6.7
Digite a terceira nota: 8.3
Média: 6.77
Situação do aluno: Recuperação!
1 resposta

Olá, Aristóteles. Como vai?

Parabéns pela resolução! Seu código está muito bem estruturado e você aplicou corretamente a lógica das condicionais encadeadas com o elif, o que é essencial para garantir que cada faixa de média leve a apenas uma classificação correta.

Notei também que você já está utilizando f-strings para formatar a média com duas casas decimais (:.2f), o que demonstra uma ótima evolução na escrita de códigos mais limpos e profissionais.

Para agregar valor ao seu aprendizado, gostaria de sugerir alguns pontos que podem tornar seu programa ainda mais robusto:

1. Tratamento de limites
Embora seu código funcione perfeitamente, é uma boa prática garantir que as notas digitadas estejam em um intervalo válido (geralmente de 0 a 10). Você poderia adicionar uma verificação antes de calcular a média:

if any(nota < 0 or nota > 10 for nota in [nota1, nota2, nota3]):
    print("Erro: Uma das notas digitadas é inválida!")
else:
    # Segue com o cálculo da média

2. Otimização com Listas
Se você tiver muitas notas, digitar variáveis como nota1, nota2, nota3 pode se tornar cansativo. Em Python, podemos usar listas para facilitar:

notas = []
for i in range(3):
    notas.append(float(input(f"Digite a nota {i+1}: ")))

media = sum(notas) / len(notas)

3. Lógica das Condicionais
Sua lógica de classificação está perfeita porque você seguiu a ordem decrescente (do 7 para o 5). Se você tivesse começado testando o media >= 5, um aluno com média 8 cairia na recuperação primeiro, pois 8 também é maior que 5. Manter essa hierarquia é fundamental para a precisão do algoritmo.

Continue praticando com esses desafios, pois a manipulação de dados numéricos com condições é a base para sistemas de análise de dados mais complexos!

Espero que possa ter lhe ajudado!