Essa foi minha solução:
import re
cpf = input("Digite o CPF no formato correto (XXX.XXX.XXX-XX) : ")
if re.search( r'\d{3}.\d{3}.\d{3}-\d{2}', cpf):
print("CPF valido!")
else:
print("CPF inválido!")
Essa foi minha solução:
import re
cpf = input("Digite o CPF no formato correto (XXX.XXX.XXX-XX) : ")
if re.search( r'\d{3}.\d{3}.\d{3}-\d{2}', cpf):
print("CPF valido!")
else:
print("CPF inválido!")
Olá, Vitor, como vai?
Seu código atende bem à proposta do exercício e demonstra um bom uso do módulo re para validar o formato do CPF. A ideia central está correta e a solução segue a lógica solicitada na atividade.
Há apenas alguns pontos técnicos que podem ser ajustados. No padrão de expressão regular, o caractere ponto tem um significado especial e acaba aceitando qualquer caractere. Para validar exatamente o formato com pontos literais, o ideal é escapá-los com barra invertida. Além disso, vale a pena delimitar o início e o fim da string para evitar que textos maiores passem na validação.
Um exemplo de padrão seria usar algo como ^\d{3}.\d{3}.\d{3}-\d{2}$, garantindo que apenas CPFs exatamente nesse formato sejam aceitos. Com esse ajuste, entradas como 123.456.789-00 seriam válidas, enquanto algo como 123a456.789-00 ou 123.456.789-000 deixariam de passar.
Obrigado por compartilhar sua solução e continue trazendo seus códigos para o fórum, ele está à disposição para trocas e aprendizados.