1
resposta

[Projeto] Sistema de notas e cálculo de média

notas = []
while len(notas) < 3:
  try:
    nota_str = input(f"Digite a nota {len(notas) + 1}: ")
    nota = float(nota_str)
    if 0 <= nota <= 10:
      notas.append(nota)
    else:
      print("Digite um valor entre 0 e 10!")
  except ValueError:
    print("Digite um valor numérico válido para a nota!")

media = sum(notas) / len(notas)
print(f"Média das notas: {media:.2f}")
print(f"Situação do Aluno: {'Reprovado' if media < 5 else 'Recuperacao' if media < 7 else 'Aprovado'}")
1 resposta

Oii, Paulo. Tudo bem?

Parabéns pela conclusão do projeto Sistema de notas e cálculo de média. Ficou nítido como você se preocupou em construir um código resiliente, utilizando o tratamento de exceções para evitar que o programa pare caso o usuário digite algo inesperado.

Sua lógica de validação dentro do while está excelente. Ao garantir que apenas notas entre 0 e 10 sejam aceitas e utilizar o try/except para tratar erros de conversão, você demonstra uma ótima compreensão de como criar um software confiável. E, o uso do operador ternário aninhado para definir a situação do aluno é uma forma direta e objetiva de resolver a classificação em uma única linha, mantendo a clareza do resultado final.

Essa organização do pensamento computacional é o que garante que o sistema funcione com precisão. Se quiser explorar mais sobre Python, indico esse artigo Funções Python: guia completo para pessoas iniciantes e avançadas e o Guia de Carreira PYTHON também.

Na sua visão, você acredita que utilizar o operador ternário aninhado facilita a manutenção do código ou prefere a estrutura tradicional com if/elif para casos com três ou mais condições?