1
resposta

[Projeto] Minha versão desse caso

import re

data_students = input("Insira os dados dos alunos no formato (nome, idade, nota) - separado por vírgulas: ").strip().split(",")
template_name = r'[A-Z][a-z]*'
template_age = r'\d{1,2}'
template_grade = r'(10|\d).\d{1,2}' 

for i in range(0, len(data_students), 3):
    
    if i+2 < len(data_students):
        
        name, age, grade = data_students[i].strip(), data_students[i+1].strip(), data_students[i+2].strip()
        if re.match(template_name, name) and re.match(template_grade, grade) and re.match(template_age, age):
            correct_age = int(age)
            correct_grade = float(grade)
            
            print(f"Aluno: {name}")
            print(f"Idade: {age}")
            print(f"Nota: {grade}\n")
        else:
            print("Tem algum erro no formato dos dados. Tente novamente.")
    else:
        print("Não há dados suficientes para processar um aluno. Tente novamente.")

Novamente, isso não é exatamente a forma melhor eficiente de eu fazer isso, mas eu queria garantir a entrada de uma forma específica, então foi isso que eu fiz.

1 resposta

Oi! Como vai?

Gostei de como você utilizou regex para validar as entradas e garantir que os dados sigam um padrão específico. Isso mostra atenção à consistência das informações.

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