1
resposta

MInha solução

import re

students_data = input("Enter the student's data in the format: Name, Age, Final grade: ")

data_pattern = r"(\w*),\s*(\d+),\s*(\d+\.\d+)"

students_data_list = re.findall(data_pattern, students_data)

for student in students_data_list:
  name, age, grade = student
  print(f"Name: {name}\nAge: {int(age)}\nFinal grade: {float(grade)}")
  print("")

Mas preferi a opinião do instrutor, bem mais conciso.

1 resposta

Olá, Carlos, como vai?

Seu código mostra que você está explorando o uso de expressões regulares para processar os dados dos alunos, e isso é um ótimo caminho. A sua solução está bem elaborada e funciona para a entrada de dados que o exercício propõe. A utilização de re.findall com um padrão bem definido é uma forma eficiente de extrair as informações necessárias, e a conversão dos tipos de dados para int e float na hora da impressão é um toque extra que garante a correção dos valores.

Obrigado por compartilhar sua solução com a gente, e continue praticando e explorando as possibilidades do Python. O fórum está aqui à disposição para quando precisar.

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