1
resposta

Organizando notas de um concurso de redação. dois arquivos: notas_ordenadas.py e main.py

class OrganizarNotas:
    def __init__(self):
        self.notas = []

    def adicionar_nota(self, nota):
        self.notas.append(nota)
        return self.notas
        
    @property
    def ver_notas(self):
        return self.notas
    
    @property
    def ordenar_notas(self):
        notas_ordenadas = sorted(self.notas)
        return notas_ordenadas
    
from notas_ordenadas import OrganizarNotas

def menu():
    print("\n----- Organizador de Notas -----")
    print("1. Adicionar nota")
    print("2. Ver notas")
    print("3. Ver notas ordenadas")
    print("4. Sair")

diario = OrganizarNotas()


def main():
    while True:
         menu()
         try:
             opcao = int(input("Escolha uma opção: "))

             match opcao:
                case 1:
                    nota_final = int(input("digite uma nota:"))
                    diario.adicionar_nota(nota_final)
                    print(f"Nota {nota_final} adicionada com sucesso.")
                case 2:
                     print(f"Notas: {diario.ver_notas}")
                case 3:
                     print(f"Notas ordenadas: {diario.ordenar_notas}")
                case 4:
                     print("saindo...")
                     break
                case _:
                    print("Digite apenas números entre 1 e 4")

         except  ValueError:     
             print("Digite apenas números")        
                    

if __name__ == '__main__':
    main()
1 resposta

Oi, Joao! Como vai?

Agradeço por compartilhar.

Gostei da sua organização ao separar a lógica em classe e usar dois arquivos, isso mostra um bom entendimento de listas e de encapsulamento, além do uso correto do sorted para ordenar as notas.

Continue praticando dessa forma, pois estruturar bem o código desde cedo ajuda muito na leitura e manutenção.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!