NicolasCGularte / Python

Aulas
0 stars 0 forks source link

Material Python #1

Open NicolasCGularte opened 1 year ago

NicolasCGularte commented 1 year ago

def valida_cpf():     while True:         cpf = input("Informe o seu CPF: ")         if len(cpf) != 11 or not cpf.isnumeric():             print("Dados inseridos incorretamente.\nDigite novamente.")             continue     cpf = cpf.replace('.', '').replace('-', '')     if len(cpf) == 11:         validar = True         digitos_verificadores = cpf[9:]     else:         validar = False

    # Obter primeiro dígito:     # 1 - Multiplicar os 9 primeiros dígitos do CPF por uma contagem     #    regressiva iniciando de 10 e terminando em 2     # 2 - Somar todos os valores das multiplicações do passo 1     # 3 - Obter o resto da divisão entre a soma e 11 do passo 2     # 4 - Subtrair o resultado do passo 3 por 11     # 5 - Se o resultado do passo 4 for maior que nove, o dígito é zero,     #    caso contrário, o dígito é o valor do passo 4

    cpf = cpf[:9]     try:         dig_1 = int(cpf[0])  1         dig_2 = int(cpf[1])  2         dig_3 = int(cpf[2])  3         dig_4 = int(cpf[3])  4         dig_5 = int(cpf[4])  5         dig_6 = int(cpf[5])  6         dig_7 = int(cpf[6])  7         dig_8 = int(cpf[7])  8         dig_9 = int(cpf[8]) * 9     except IndexError:         print()         print('Quantidade de caracteres incorreto.', end='\n\n')         exit()

    dig_1_ao_9_somados = (dig_1 +                           dig_2 +                           dig_3 +                           dig_4 +                           dig_5 +                           dig_6 +                           dig_7 +                           dig_8 +                           dig_9)

    dig_10 = dig_1_ao_9_somados % 11     if dig_10 > 9:         dig_10 = 0

    # * Obter segundo dígito:     # 1 - Multiplicar os 9 primeiros dígitos do CPF, MAIS O PRIMEIRO DIGITO     #    obtido anteriormente por uma contagem regressiva iniciando de 11     #    e terminando em 2     # 2 - Mesma lógica do passo 2 do primeiro dígito em diante.

    cpf += str(dig_10)

    dig_1 = int(cpf[0])  0     dig_2 = int(cpf[1])  1     dig_3 = int(cpf[2])  2     dig_4 = int(cpf[3])  3     dig_5 = int(cpf[4])  4     dig_6 = int(cpf[5])  5     dig_7 = int(cpf[6])  6     dig_8 = int(cpf[7])  7     dig_9 = int(cpf[8])  8     dig_10 = int(cpf[9])  9

    dig_1_ao_10_somados = (dig_1 +                            dig_2 +                            dig_3 +                            dig_4 +                            dig_5 +                            dig_6 +                            dig_7 +                            dig_8 +                            dig_9 +                            dig_10)

    dig_11 = dig_1_ao_10_somados % 11     if dig_11 > 9:         dig_11 = 0

valida_cpf()

Bah, não consigo....