1
resposta

[Projeto] Minha resposta à essa questão:

tentei fazeer um pouco mais completo, de forma que aceite sobrenomes.

# Lorena works in the registration department of a company and needs to ensure
# that the names entered by customers are in the correct format. The expected
# pattern is that names start with an uppercase letter and contain only letters
# (no numbers or special characters). To simplify her workflow, she wants a
# program that automatically validates the provided names.
#
# Help Lorena by creating a program that prompts the user for a name and checks
# whether it meets the rules.
#
# Input example:
#   Enter the customer name for validation: maria123
#
# Expected output:
#   Invalid name!

import re

client_name = input("Enter the client's name for validation: ")
if re.fullmatch(r'[A-ZÀ-Ö][a-zA-ZÀ-öø-ÿ]+( (da|de|do|das|dos|e)| [A-ZÀ-Ö][a-zA-ZÀ-öø-ÿ]+)*', client_name):
    print(f"The name {client_name} is a valid name!")
else:
    print(f"The name {client_name} is an invalid name. Please enter a valid name.")
1 resposta

Oi, Raul! Como vai?

Agradeço por compartilhar.

Gostei da sua solução ao ampliar a validação para aceitar sobrenomes e partículas como da, de, do, das, dos e e. A lógica com re.fullmatch() também foi uma boa escolha, porque garante que o texto inteiro siga o padrão esperado.

Dica: teste também nomes compostos com acentos e mais de um sobrenome, como Maria Clara dos Santos, para verificar se a regex cobre bem os casos reais. Uma melhoria possível seria permitir nomes com apenas duas letras, como Lu, ajustando o + conforme a regra desejada. Continue praticando, você está indo muito bem.

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