1
resposta

[Dúvida] Uso da função title

Olá, eu compreendi o uso de Regex para validar o nome digitado, sem números e começando com letra maiúscula:

import re
nome = input('Digite o nome do cliente para validação: ')

if re.fullmatch(r'[A-Z][a-z]*', nome):
  print('Nome válido!')
else:
  print('Nome inválido!')

mas fiquei com uma dúvida:

  • Estaria errado usar a função title() no input para garantir a parte da letra maiúscula no início do nome, mesmo se digitarem em minúsculo?
import re
nome = input('Digite o nome do cliente para validação: ').title()

# Resto do código
  • Ou é melhor pela Regex mesmo?
1 resposta

Olá Mylena! Como vai?

É ótimo ver seu interesse em explorar diferentes abordagens para resolver o problema de validação de nomes. Vamos falar sobre as duas opções que você mencionou.

Usar a função title() no input é uma maneira prática de garantir que a primeira letra de cada palavra seja maiúscula. Isso pode ser útil para formatar o nome de forma consistente, mas não substitui a validação que a Regex oferece. A função title() não impedirá que números ou caracteres especiais sejam incluídos no nome, enquanto a Regex pode verificar se o nome realmente atende às regras estabelecidas.

Aqui está um exemplo de como você poderia combinar as duas abordagens:

import re

nome = input('Digite o nome do cliente para validação: ').title()

# Verifica se o nome está no formato correto
if re.fullmatch(r'[A-Z][a-z]*', nome):
    print('Nome válido!')
else:
    print('Nome inválido!')

Neste exemplo, o title() é usado para formatar o nome, mas a Regex ainda é necessária para garantir que o nome não contenha números ou caracteres especiais.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.