Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Validação de CPF

cpf_informado = input("Digite seu CPF: ")

if not cpf_informado.isdigit():
    print("Erro: O CPF deve conter apenas números.")
elif len(cpf_informado) != 11:
    print("Erro: O CPF deve ter exatamente 11 dígitos.")
else:
    print("CPF válido.")
1 resposta

Oi, Mario! Como vai?

Agradeço por compartilhar.

Você fez uma boa validação inicial usando isdigit() e len(cpf_informado), garantindo que o CPF tenha apenas números e exatamente 11 dígitos. Neste ponto, vale lembrar que um CPF também precisa passar pela validação dos dígitos verificadores para ser considerado válido de fato.

Uma dica interessante para o futuro é criar uma função para separar essa regra e deixar o código mais organizado.


def apenas_numeros(cpf):
    return cpf.isdigit() and len(cpf) == 11

cpf_informado = input("Digite seu CPF: ")

if apenas_numeros(cpf_informado):
    print("CPF com formato valido.")
else:
    print("CPF invalido.")

Esse código coloca a verificação de formato dentro da função apenas_numeros(), facilitando a leitura e permitindo evoluir depois para a validação completa do CPF.

Na sua visão, isolar a validação de formato (tipo e tamanho) em uma etapa prévia à checagem matemática dos dígitos ajuda a manter as regras do algoritmo focadas em uma única responsabilidade de forma mais organizada?

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