1
resposta

[Projeto] Registrando alunos

import re


def ler_dados_aluno():
    padrao = re.compile(r'^([A-Za-zÀ-ÿ\s]+),\s*(\d{1,2}),\s*(\d+(\.\d+)?)$')

    while True:
        entrada = input('Digite os dados do aluno no formato "Nome, Idade, Nota" separados por vírgula: ')

        try:
            if not entrada:
                raise ValueError("Entrada vazia.")
            match = padrao.match(entrada)
            if not match:
                raise ValueError("Formato inválido. Use: Nome, Idade, Nota")
            
            nome = match.group(1).strip().title()
            idade = int(match.group(2))
            nota = float(match.group(3))
            return {"nome": nome, "idade": idade, "nota": nota}
        except ValueError as e:
            print(f'Erro: {e}')
        

def continuar_programa():
    while True:
        continuar = input('Deseja adicionar outro aluno? (s/n): ').strip().lower()

        if continuar in ('s', 'n'):
            return continuar == 's'
        print('Por favor, responda com "s" ou "n".')        
            

def exibir_dados_alunos(aluno):
    print(f'Aluno: {aluno["nome"]}')
    print(f'Idade: {aluno["idade"]}')
    print(f'Nota: {aluno["nota"]:.2f}')

    
def main():
    alunos = []
    while True:
        aluno = ler_dados_aluno()
        alunos.append(aluno)
        exibir_dados_alunos(aluno)

        if not continuar_programa():
            break
    print('\nEncerrando o programa!')

    for aluno in alunos:
        exibir_dados_alunos(aluno)


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

Oi, Matheus! Como vai?

Seu uso de expressões regulares para validar a entrada dos dados foi um destaque. Isso torna o programa mais robusto e confiável, além de organizar bem o fluxo com funções separadas.

Uma dica interessante para o futuro é usar a função enumerate quando precisar iterar por uma lista com índice. Veja este exemplo:


nomes = ['Ana', 'Bruno', 'Carlos']
for i, nome in enumerate(nomes):
    print(f"{i+1} - {nome}")

Esse código imprime a posição e o nome de cada item, o que pode ajudar ao listar os alunos cadastrados.

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