1
resposta

[Projeto] Agrupando Informações de paciente

import re

dados_paciente = input('Digite o nome completo e o ano de nascimento do paciente: ')
padrao = r'^(.*?)[\s\--]+(\d{4})$'

resultado = re.match(padrao, dados_paciente)

if resultado:
    nome_completo = resultado.group(1).strip()
    ano = resultado.group(2)

    
    partes_nome = nome_completo.split()
    if len(partes_nome) >= 2:
        nome = partes_nome[0]
        sobrenome = ' '.join(partes_nome[1:])
    else:
        nome = partes_nome[0]
        sobrenome = '(sem sobrenome)'

    print(f"Nome: {nome}")
    print(f"Sobrenome: {sobrenome}")
    print(f"Ano de nascimento: {ano}")
else:
    print("Formato inválido. Use: Nome Sobrenome - 1990")
1 resposta

Olá, Matheus! Tudo bem?

Parabéns! Continue resolvendo os desafios e compartilhando com a comunidade Alura.

Percebi que você dominou o uso de expressões regulares para capturar padrões em uma string, aplicou muito bem o método group() para extrair os dados desejados e ainda demonstrou compreender a relevância de manipular strings com split() para organizar as informações de forma legível.

Uma sugestão interessante para evoluir ainda mais é usar o método partition() com o objetivo de separar partes fixas de uma string de forma mais direta. Veja só:

entrada = "Maria Silva - 1985"
nome_completo, _, ano = entrada.partition(' - ')
print(nome_completo.strip())
print(ano.strip())

Resultado:

Maria Silva
1985

Essa abordagem ajuda a simplificar a lógica de separação de dados quando o separador é conhecido.

Ícone de sugestão Para saber mais:

Sugestão de conteúdo para você mergulhar ainda mais sobre o tema:

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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