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

[Resolução] Validando CPF

cpf = input('Digite o seu CPF:')

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

Oi, Gustavo. Tudo bem com você?

Obrigado por compartilhar sua resolução para a atividade de validação de CPF. Seu código atende aos requisitos propostos no exercício. Primeiro, você verifica se a entrada contém apenas caracteres numéricos utilizando o método isdigit(). Em seguida, realiza a validação da quantidade de dígitos com len(cpf) != 11. Essa ordem de verificações também é interessante, pois evita que uma entrada contendo letras seja analisada apenas pelo tamanho antes de identificar o tipo de erro.

Uma dica que pode ser útil em situações futuras é utilizar o método strip() na leitura da entrada, como cpf = input(...).strip(). Dessa forma, espaços em branco inseridos acidentalmente no início ou no fim do CPF não interferem na validação. Por exemplo, se o usuário digitar 12345678901 com um espaço ao final, o strip() removerá esse espaço antes das verificações. Para a proposta desta atividade, entretanto, sua solução já está de acordo com o comportamento esperado e utiliza recursos apropriados da linguagem Python.

Como você adaptaria esse programa para aceitar CPFs digitados no formato 123.456.789-01 e ainda validar corretamente a quantidade de dígitos?

Parabéns pela resolução e por compartilhar seu código no fórum. Continue praticando e explorando diferentes formas de resolver os desafios. O fórum está à disposição sempre que surgir uma nova dúvida.

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