Oi, Marcelo! Como vai?
Seu código demonstra uma ótima evolução no aprendizado. O uso do bloco try para capturar erros do tipo ValueError é uma prática muito importante, pois garante que o programa se comporte bem quando o usuário digitar algo inesperado nos campos de input. Além disso, a forma como você usou float para converter as entradas de nota1, nota2 e nota3 está correta e bem aplicada.
Outro ponto que merece destaque é a estrutura condicional com if, elif e a comparação dupla 5 <= media < 7, que torna o código legível e fácil de entender. O print com formatação :.2f para exibir a média com duas casas decimais é um detalhe caprichado que mostra atenção à experiência do usuário.
Uma sugestão interessante para evoluir ainda mais é organizar as notas em uma lista, o que torna o código mais flexível para diferentes quantidades de avaliações:
notas = []
for i in range(3):
nota = float(input("Digite uma nota: "))
notas.append(nota)
media = sum(notas) / len(notas)
print(media)
Nesse exemplo, sum() soma todos os valores da lista e len() retorna a quantidade de notas, tornando o cálculo da média adaptável sem precisar alterar variáveis individuais como nota1, nota2 e nota3 sempre que o número de notas mudar.
Continue assim, porque você está no caminho certo no projeto de classificar estudantes por média.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!
Que tal tentar adaptar o código para que o usuário possa digitar qualquer quantidade de notas antes de calcular a média, tornando o programa ainda mais dinâmico?