2
respostas

Classificando estudantes por média

Uma professora precisa de um programa que ajude a calcular a média final dos alunos e informe se foram aprovados, ficaram de recuperação ou reprovados. As regras são:

  • Média >= 7: Aprovado
  • 5 <= Média < 7: Recuperação
  • Média < 5: Reprovado

Escreva um programa que receba três notas como entrada e calcule a média final. Com base na média, exiba a situação do aluno.

aluno = input("Digite o nome do aluno: ")
nota_1 = float(input("Digite a primeira nota: "))
nota_2 = float(input("Digite a segunda nota: "))
nota_3 = float (input("Digite a terceira nota:"))

media = (nota_1 + nota_2 + nota_3) / 3

if media >= 7:
    print(f'A média de {aluno} é {media:.2f}. {aluno} foi aprovado.')
elif 5 <= media < 7:
    print(f'A média de {aluno} é {media:.2f}. {aluno} está de recuperação.')
else:
    print(f'A média de {aluno} é {media:.2f}. {aluno} foi reprovado.')
    
Digite o nome do aluno: Josué
Digite a primeira nota: 6.9
Digite a segunda nota: 7.1
Digite a terceira nota:6.2
A média de Josué é 6.73. Josué está de recuperação.
2 respostas

Olá, Andressa. Como vai?

Parabéns pela resolução! O seu código está muito bem estruturado e a lógica das condicionais foi aplicada com precisão. É muito interessante notar como você utilizou a sintaxe 5 <= media < 7, que é um recurso muito prático do Python para verificar intervalos numéricos de forma legível e direta.

A utilização da formatação de strings com :.2f também foi uma escolha excelente, pois garante que médias com muitas casas decimais (como o 6.7333... do Josué) sejam exibidas de forma clara e profissional.

Para agregar ainda mais valor ao seu aprendizado, deixo algumas sugestões que podem tornar seu programa mais robusto:

  • Uso da variável nome: Notei que você solicitou o nome do aluno no início, mas não o utilizou nas mensagens de saída. Incluí-lo no print torna o programa mais personalizado.
  • Tratamento de Notas Inválidas: Em um sistema real, seria interessante garantir que as notas digitadas estejam entre 0 e 10.
  • Arredondamento: Em alguns sistemas escolares, as médias são arredondadas. O Python possui a função round(), que poderia ser explorada futuramente.

Veja como o código poderia ficar com esses pequenos ajustes:

nome = input("Digite o nome do aluno: ")
nota_1 = float(input("Digite a primeira nota: "))
nota_2 = float(input("Digite a segunda nota: "))
nota_3 = float(input("Digite a terceira nota: "))

media = (nota_1 + nota_2 + nota_3) / 3

# Usando o nome do aluno para uma resposta mais completa
if media >= 7:
    situacao = "aprovado(a)"
elif 5 <= media < 7:
    situacao = "em recuperação"
else:
    situacao = "reprovado(a)"

print(f"A média de {nome} é {media:.2f}. Situação: {situacao}.")

O fluxo lógico que você criou é a base de muitos sistemas de gestão escolar. Dominar essas estruturas condicionais permitirá que você crie regras de negócio cada vez mais complexas em seus projetos futuros.

Espero que possa ter lhe ajudado!

Você tem razão em relação ao nome dos alunos, foi um lapso meu. Já corrigi.

Muito obrigada!