1
resposta

Agrupando informações dos pacientes

Carlos é analista de dados em um hospital e está organizando informações de pacientes em um banco de dados. Ele recebe os dados no formato: "PrimeiroNome Sobrenome - Ano". Por exemplo, “Monalisa Silva - 1994”.

Carlos precisa de um programa que leia as informações, capture cada parte separadamente, nome, o sobrenome e o ano de nascimento para preencher os campos do sistema.

Ajude Carlos criando um programa que solicite o nome completo e o ano de nascimento de um paciente e exiba-os separadamente.

Exemplo de Entrada:

Digite o nome completo e o ano de nascimento do paciente: Ana Silva - 1990

Saída esperada:

  • Primeiro Nome: Ana

  • Sobrenome: Silva

  • Ano de Nascimento: 1990

      import re
    
      nome_completo_ano_nascimento = input("Digite o nome completo - Ano de nascimento: ")
    
      cadastro = r"(?P<primeiro_nome>[A-Za-zÀ-ÿ]+)\s(?P<sobrenome>[A-Za-zÀ-ÿ]+)\s-\s(?P<ano>\d{4})"
    
      match = re.search(cadastro, nome_completo_ano_nascimento)
    
      if match:
          primeiro_nome = match.group('primeiro_nome')
          sobrenome = match.group('sobrenome')
          ano = match.group('ano')
    
          print(f" Primeiro Nome: {primeiro_nome}")
          print(f" Sobrenome: {sobrenome}")
          print(f" Ano de Nascimento: {ano}")
      else:
          print("Formato de entrada inválido. 'Por favor, verifique o nome e ano de nascimento'.")
    
    
      Digite o nome completo - Ano de nascimento: Ana Silva - 1990
      Primeiro Nome: Ana
      Sobrenome: Silva
      Ano de Nascimento: 1990
    
1 resposta

Olá, Carlos, tudo bem?

Parabéns pela sua resolução!

Achei excelente a sua abordagem utilizando Grupos Nomeados (?P<nome>...). Essa é uma prática considerada muito "limpa" em Expressões Regulares.

Obrigado por compartilhar sua solução com a comunidade! Com certeza vai ajudar outros colegas a verem formas diferentes de resolver o mesmo problema.

Bons estudos!

Sucesso

Imagem da comunidade