Ajuda no código Python, alguém por favor pode me dizer o que tem de errado nesse código
lista1 = [10, 9, 8, 7, 6, 5, 4, 3, 2]
lista2 = [11, 10, 9, 8, 7, 6, 5, 4, 3, 2]
soma1 = 0
soma2 = 0
cpf = input("Digite o CPF: ")
for i in range(9):
print("CPF", int(cpf[i]), "*", lista1[i], "=", int(cpf[i]) * lista1[i])
soma1 = soma1 + (int(cpf[i])*lista1[i])
print("Soma da validação ", soma1)
validacao1 = (soma1*10)/11
print("Resultado da ((primeira soma * 10)/11) = ", validacao1)
resto_validacao1 = (soma1*10) % 11
print("Resto da primeira validação: "), resto_validacao1
if resto_validacao1==10:
resto_validacao1=0
if resto_validacao1==(int(cpf[9])):
print("Validação confirmada!!")
else:
print("CPF invalido..")
for i in range(10):
print("CPF ", int(cpf[i]), "Multiplicador", lista2[i], "resulta", int(cpf[i])*lista2[i])
soma2 = soma2 + (int(cpf[i]) * lista2[i])
print("Soma da segunda verificação: ", soma2)
validacao2 = (soma2*10)/11
print("Resultado da segunda soma ", validacao2)
resto_validacao2 = (soma2*10) % 11
if resto_validacao2==10:
resto_validacao2=0
print("Resto da segunda verificação: ", resto_validacao2)
if resto_validacao2 == (int(cpf[10])):
print("Validação confirmada!")
else:
print("CPF invalido. Por favor informe outro CPF...")
lista2 = [11, 10, 9, 8, 7, 6, 5, 4, 3, 2]
soma1 = 0
soma2 = 0
cpf = input("Digite o CPF: ")
for i in range(9):
print("CPF", int(cpf[i]), "*", lista1[i], "=", int(cpf[i]) * lista1[i])
soma1 = soma1 + (int(cpf[i])*lista1[i])
print("Soma da validação ", soma1)
validacao1 = (soma1*10)/11
print("Resultado da ((primeira soma * 10)/11) = ", validacao1)
resto_validacao1 = (soma1*10) % 11
print("Resto da primeira validação: "), resto_validacao1
if resto_validacao1==10:
resto_validacao1=0
if resto_validacao1==(int(cpf[9])):
print("Validação confirmada!!")
else:
print("CPF invalido..")
for i in range(10):
print("CPF ", int(cpf[i]), "Multiplicador", lista2[i], "resulta", int(cpf[i])*lista2[i])
soma2 = soma2 + (int(cpf[i]) * lista2[i])
print("Soma da segunda verificação: ", soma2)
validacao2 = (soma2*10)/11
print("Resultado da segunda soma ", validacao2)
resto_validacao2 = (soma2*10) % 11
if resto_validacao2==10:
resto_validacao2=0
print("Resto da segunda verificação: ", resto_validacao2)
if resto_validacao2 == (int(cpf[10])):
print("Validação confirmada!")
else:
print("CPF invalido. Por favor informe outro CPF...")
Enrico
Curtidas 0
Melhor post
Marcos Junior
29/06/2020
Boa noite...
O erro acontece pois no inicio do seu código você coloca um valor do range = 9 quer dizer que ele vai de 0 a 8 que equivale a 9 posições. Olha como fica seu código abaixo.:
lista1 = [10, 9, 8, 7, 6, 5, 4, 3, 2]
lista2 = [11, 10, 9, 8, 7, 6, 5, 4, 3, 2]
soma1 = 0
soma2 = 0
cpf = input("Digite o CPF: ")
for i in range(9):
print("cpf", int(cpf[i]), "*", lista1[i], "=", int(cpf[i]) * lista1[i])
soma1 = soma1 + (int(cpf[i])*lista1[i])
print("Soma da validação ", soma1)
validacao1 = (soma1*10)/11
print("Resultado da ((primeira soma * 10)/11) = ", validacao1)
resto_validacao1 = (soma1*10) % 11
print("Resto da primeira validação: ", resto_validacao1)
if resto_validacao1 == 10:
resto_validacao1 = 0
if resto_validacao1 == (int(cpf[8])):
print("Validação confirmada!!")
else:
print("CPF invalido..")
for i in range(9):
print("CPF ", int(cpf[i]), "Multiplicador", lista2[i], "resulta", int(cpf[i]) * lista2[i])
soma2 = soma2 + (int(cpf[i]) * lista2[i])
print("Soma da segunda verificação: ", soma2)
validacao2 = (soma2 * 10) / 11
print("Resultado da segunda soma ", validacao2)
resto_validacao2 = (soma2 * 10) % 11
if resto_validacao2 == 10:
resto_validacao2 = 0
print("Resto da segunda verificação: ", resto_validacao2)
if resto_validacao2 == (int(cpf[8])):
print("Validação confirmada!")
else:
print("CPF invalido. Por favor informe outro CPF...")
obs.: eu creio que o valor da quantidade de posições deveria ser 11 pois é a quantidade de caracteres que um cpf tem.
O erro acontece pois no inicio do seu código você coloca um valor do range = 9 quer dizer que ele vai de 0 a 8 que equivale a 9 posições. Olha como fica seu código abaixo.:
lista1 = [10, 9, 8, 7, 6, 5, 4, 3, 2]
lista2 = [11, 10, 9, 8, 7, 6, 5, 4, 3, 2]
soma1 = 0
soma2 = 0
cpf = input("Digite o CPF: ")
for i in range(9):
print("cpf", int(cpf[i]), "*", lista1[i], "=", int(cpf[i]) * lista1[i])
soma1 = soma1 + (int(cpf[i])*lista1[i])
print("Soma da validação ", soma1)
validacao1 = (soma1*10)/11
print("Resultado da ((primeira soma * 10)/11) = ", validacao1)
resto_validacao1 = (soma1*10) % 11
print("Resto da primeira validação: ", resto_validacao1)
if resto_validacao1 == 10:
resto_validacao1 = 0
if resto_validacao1 == (int(cpf[8])):
print("Validação confirmada!!")
else:
print("CPF invalido..")
for i in range(9):
print("CPF ", int(cpf[i]), "Multiplicador", lista2[i], "resulta", int(cpf[i]) * lista2[i])
soma2 = soma2 + (int(cpf[i]) * lista2[i])
print("Soma da segunda verificação: ", soma2)
validacao2 = (soma2 * 10) / 11
print("Resultado da segunda soma ", validacao2)
resto_validacao2 = (soma2 * 10) % 11
if resto_validacao2 == 10:
resto_validacao2 = 0
print("Resto da segunda verificação: ", resto_validacao2)
if resto_validacao2 == (int(cpf[8])):
print("Validação confirmada!")
else:
print("CPF invalido. Por favor informe outro CPF...")
obs.: eu creio que o valor da quantidade de posições deveria ser 11 pois é a quantidade de caracteres que um cpf tem.
GOSTEI 1
Mais Respostas
Enrico
29/06/2020
Obrigado, realmente não tinha visto isso, mas ainda assim o codigo não está verificando corretamente só fica dando invalido você tem alguma ideia do que pode ser??
Boa noite...
O erro acontece pois no inicio do seu código você coloca um valor do range = 9 quer dizer que ele vai de 0 a 8 que equivale a 9 posições. Olha como fica seu código abaixo.:
lista1 = [10, 9, 8, 7, 6, 5, 4, 3, 2]
lista2 = [11, 10, 9, 8, 7, 6, 5, 4, 3, 2]
soma1 = 0
soma2 = 0
cpf = input("Digite o CPF: ")
for i in range(9):
print("cpf", int(cpf[i]), "*", lista1[i], "=", int(cpf[i]) * lista1[i])
soma1 = soma1 + (int(cpf[i])*lista1[i])
print("Soma da validação ", soma1)
validacao1 = (soma1*10)/11
print("Resultado da ((primeira soma * 10)/11) = ", validacao1)
resto_validacao1 = (soma1*10) % 11
print("Resto da primeira validação: ", resto_validacao1)
if resto_validacao1 == 10:
resto_validacao1 = 0
if resto_validacao1 == (int(cpf[8])):
print("Validação confirmada!!")
else:
print("CPF invalido..")
for i in range(9):
print("CPF ", int(cpf[i]), "Multiplicador", lista2[i], "resulta", int(cpf[i]) * lista2[i])
soma2 = soma2 + (int(cpf[i]) * lista2[i])
print("Soma da segunda verificação: ", soma2)
validacao2 = (soma2 * 10) / 11
print("Resultado da segunda soma ", validacao2)
resto_validacao2 = (soma2 * 10) % 11
if resto_validacao2 == 10:
resto_validacao2 = 0
print("Resto da segunda verificação: ", resto_validacao2)
if resto_validacao2 == (int(cpf[8])):
print("Validação confirmada!")
else:
print("CPF invalido. Por favor informe outro CPF...")
obs.: eu creio que o valor da quantidade de posições deveria ser 11 pois é a quantidade de caracteres que um cpf tem.
O erro acontece pois no inicio do seu código você coloca um valor do range = 9 quer dizer que ele vai de 0 a 8 que equivale a 9 posições. Olha como fica seu código abaixo.:
lista1 = [10, 9, 8, 7, 6, 5, 4, 3, 2]
lista2 = [11, 10, 9, 8, 7, 6, 5, 4, 3, 2]
soma1 = 0
soma2 = 0
cpf = input("Digite o CPF: ")
for i in range(9):
print("cpf", int(cpf[i]), "*", lista1[i], "=", int(cpf[i]) * lista1[i])
soma1 = soma1 + (int(cpf[i])*lista1[i])
print("Soma da validação ", soma1)
validacao1 = (soma1*10)/11
print("Resultado da ((primeira soma * 10)/11) = ", validacao1)
resto_validacao1 = (soma1*10) % 11
print("Resto da primeira validação: ", resto_validacao1)
if resto_validacao1 == 10:
resto_validacao1 = 0
if resto_validacao1 == (int(cpf[8])):
print("Validação confirmada!!")
else:
print("CPF invalido..")
for i in range(9):
print("CPF ", int(cpf[i]), "Multiplicador", lista2[i], "resulta", int(cpf[i]) * lista2[i])
soma2 = soma2 + (int(cpf[i]) * lista2[i])
print("Soma da segunda verificação: ", soma2)
validacao2 = (soma2 * 10) / 11
print("Resultado da segunda soma ", validacao2)
resto_validacao2 = (soma2 * 10) % 11
if resto_validacao2 == 10:
resto_validacao2 = 0
print("Resto da segunda verificação: ", resto_validacao2)
if resto_validacao2 == (int(cpf[8])):
print("Validação confirmada!")
else:
print("CPF invalido. Por favor informe outro CPF...")
obs.: eu creio que o valor da quantidade de posições deveria ser 11 pois é a quantidade de caracteres que um cpf tem.
GOSTEI 0
Marcos Junior
29/06/2020
Boa tarde...
Nobre Enrico, veja o meu código que postei ou copie e cole e bote para roda, você verá que ele vai rodar sem erros, a unica maneira de haver erros é se você digitar a quantidade de caracteres do cpf diferente de 9 ou se você não organizar a indentação. Observe o código é veja o que está diferente do seu, e depois da um feedback aqui se deu certo...
Nobre Enrico, veja o meu código que postei ou copie e cole e bote para roda, você verá que ele vai rodar sem erros, a unica maneira de haver erros é se você digitar a quantidade de caracteres do cpf diferente de 9 ou se você não organizar a indentação. Observe o código é veja o que está diferente do seu, e depois da um feedback aqui se deu certo...
GOSTEI 0