catbean.pages.dev

Como testar algoritmo de CPF em linha de comando?

Validar um CPF manualmente pode ser trabalhoso e propenso a erros. Com um script simples em linha de comando, você automatiza o processo de verificação dos dígitos verificadores, garantindo precisão e agilidade.

Pré-requisitos

Criando o script de validação

O algoritmo de validação de CPF consiste em calcular dois dígitos verificadores a partir dos nove primeiros números. O script abaixo implementa essa lógica de forma direta.

def validar_cpf(cpf):
    cpf = ''.join(filter(str.isdigit, cpf))
    if len(cpf) != 11 or cpf == cpf[0] * 11:
        return False

    def calcular_digito(seq):
        soma = sum(int(digito) * (len(seq) + 1 - i) for i, digito in enumerate(seq))
        resto = soma % 11
        return 0 if resto < 2 else 11 - resto

    digito1 = calcular_digito(cpf[:9])
    digito2 = calcular_digito(cpf[:9] + str(digito1))

    return str(digito1) == cpf[9] and str(digito2) == cpf[10]

if __name__ == "__main__":
    import sys
    if len(sys.argv) != 2:
        print("Uso: python validar_cpf.py ")
        sys.exit(1)

    cpf = sys.argv[1]
    if validar_cpf(cpf):
        print(f"CPF {cpf} é válido.")
    else:
        print(f"CPF {cpf} é inválido.")

Executando a validação

Salve o código em um arquivo chamado validar_cpf.py e execute-o passando o CPF como argumento. O script limpa qualquer caractere não numérico e retorna o resultado da validação.

python validar_cpf.py 123.456.789-09

Exemplo Prático

CPF de Entrada Resultado
123.456.789-09 CPF 123.456.789-09 é inválido.
529.982.247-25 CPF 529.982.247-25 é válido.
111.444.777-35 CPF 111.444.777-35 é inválido.

Conclusão

Com este script, você transforma uma tarefa manual complexa em uma validação instantânea via linha de comando, eliminando erros humanos e aumentando a produtividade no processamento de dados.