-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpratica53.py
More file actions
38 lines (33 loc) · 1 KB
/
pratica53.py
File metadata and controls
38 lines (33 loc) · 1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
"""
Calculo do segundo dígito do CPF
CPF: 746.824.890-70
Colete a soma dos 9 primeiros dígitos do CPF,
MAIS O PRIMEIRO DIGITO,
multiplicando cada um dos valores por uma
contagem regressiva começando de 11
Ex.: 746.824.890-70 (7468248907)
11 10 9 8 7 6 5 4 3 2
* 7 4 6 8 2 4 8 9 0 7 <-- PRIMEIRO DIGITO
77 40 54 64 14 24 40 36 0 14
Somar todos os resultados:
77+40+54+64+14+24+40+36+0+14 = 363
Multiplicar o resultado anterior por 10
363 * 10 = 3630
Obter o resto da divisão da conta anterior por 11
3630 % 11 = 0
Se o resultado anterior for maior que 9:
resultado é 0
contrário disso:
resultado é o valor da conta
O segundo dígito do CPF é 0
"""
cpf = '7468248907'
dez_digitos = cpf[:10]
contador_regressivo_2 = 11
resultado_para_digito_2 = 0
for digito_2 in dez_digitos:
resultado_para_digito_2 += int(digito_2) * contador_regressivo_2
contador_regressivo_2 -= 1
digito_2 = (resultado_para_digito_2 * 10) % 11
digito_2 = digito_2 if digito_2 <= 9 else 0
print(digito_2)