1
resposta

[Sugestão] Minha Solução para pegar mais de um sobrenome

def cadastro(texto):
    import re

    nomes = re.findall(r'\b[A-Z][a-z]+', texto)
    ano_nascimento = re.search(r'\d{4}$', texto)

    if len(nomes) >= 2 and ano_nascimento:
        print('\nCadastro válido.')
        print(f'Nome: {nomes[0]}')
        print(f'Sobrenome(s): {" ".join(nomes[1:])}')
        print(f'Ano de nascimento: {ano_nascimento.group()}')
    else:
        print('\nCadastro inválido. Certifique-se de que o nome e sobrenome começam com letra maiúscula e o ano de nascimento está correto.')

cadastro(input('\nDigite o nome completo e o ano de nascimento do paciente: '))
1 resposta

Oi, Estudante! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Gostei de como você extraiu os nomes com re.findall e garantiu o ano no fim com \d{4}$; juntar os sobrenomes com '\s'.join(nomes[1:]) resolve bem casos com múltiplos sobrenomes.

Continue firme nos estudos.

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