1
resposta

Avaliação de Repositorio

Opa, eu to fazendo um projetinho basico em python que faz uma coisa bem simples, cadastra um aluno e notas e informa a media fiz um repositorio no git, queria uma opniao sobre como melhor e oq melhor https://github.com/HugoSantos2131/MediaAlunos/blob/main/lancar_notas.py

1 resposta

Oi, Hugo! Tudo bem?

Parabéns pela iniciativa e pelo projeto desenvolvido, é muito bacana poder ter acesso ao seu sistema de cadastro de alunos e notas em Python, a sua iniciativa de exercitar códigos através do desenvolvimento de ideias é uma excelente prática para internalizar o conhecimento!

Uma boa prática no mundo da programação é o uso de exceções (ou exceptions) para lidar com erros e situações excepcionais de maneira controlada e elegante. Dessa forma, deixo como sugestão para melhorar o código usar exceções para validação, ou seja, em vez de usar loops while para validar as notas, usar exceções para tratar erros de entrada do usuário. Isso tornará o código mais limpo e legível! Deixo abaixo um exemplo de como ficaria o código no arquivo lancar_notas.py:

def validar_nota(nota):
    try:
        nota = float(nota)  # Converte a entrada 'nota' para um número de ponto flutuante.
        if 0 <= nota <= 10:  # Verifica se a nota está no intervalo de 0 a 10.
            return nota  # Retorna a nota válida.
        else:
            raise ValueError("A nota deve estar entre 0 e 10")  # Lança uma exceção se a nota estiver fora do intervalo.
    except ValueError as e:
        print(f"Erro: {e}")  # Captura e imprime uma mensagem de erro se a conversão ou validação falhar.
        return None  # Retorna None para indicar que a nota não é válida.

def lancar_notas(self):
    self.nota01 = self.validar_nota(input("Digite a 1ª nota do aluno: "))  # Chama 'validar_nota' para validar a entrada e atribui o resultado a 'nota01'.
    self.nota02 = self.validar_nota(input("Digite a 2ª nota do aluno: "))  # O mesmo processo é repetido para as quatro notas.
    self.nota03 = self.validar_nota(input("Digite a 3ª nota do aluno: "))
    self.nota04 = self.validar_nota(input("Digite a 4ª nota do aluno: "))

Neste código, a função validar_nota é responsável por receber uma entrada (representada pela variável nota), converter essa entrada em um número de ponto flutuante e validar se a nota está dentro do intervalo entre 0 e 10. Se a nota for inválida (fora do intervalo ou não puder ser convertida para um número de ponto flutuante), ele lança uma exceção do tipo ValueError com uma mensagem de erro apropriada. Se ocorrer um erro, o código imprime a mensagem de erro e retorna None para indicar que a nota não é válida.

A função lancar_notas utiliza a função validar_nota para coletar e validar as notas do aluno, atribuindo os resultados às variáveis self.nota01, self.nota02, self.nota03 e self.nota04. Portanto, a função lancar_notas lida com a entrada do usuário para as quatro notas e garante que as notas sejam válidas e estejam no intervalo correto antes de atribuí-las aos atributos da classe.

Espero ter ajudado! Caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição!

Um forte abraço e bons estudos!

Caso este post tenha te ajudado, por favor, marcar como solucionado ✓