Jump to content
Fórum Script Brasil
  • 0

Ajuda com o laço while na validação do CPF


Stéfano Bruno

Question

Olá, pessoas.

Estou criando um código e dentro dele tenho que validar um CPF. A validação está funcionando corretamente. O meu problema talvez seja simples, mas ainda não consegui identificar.

Coloquei um laço while para fazer um loop se o CPF for digitado incorretamente. Ele funciona bem se o CPF for digitado certo. Porém, se a numeração digitada estiver errada, ele gera infinitamente a mensagem "O CPF informado é inválido".

Segue abaixo o meu código completo:

    cpf = input('Me informe o seu CPF: ')
    novo_cpf = cpf[:-2]
    
    if len(cpf) > 11 or len(cpf) < 11:
      print('O CPF informado é inválido.')
    
    reverso = 10
    total = 0
    
    for digito_cpf in range(19):
      if digito_cpf > 8:
        digito_cpf -= 9
      total += int(novo_cpf[digito_cpf]) * reverso
      reverso -= 1
      if reverso < 2:
        reverso = 11
        digito = 11 - (total % 11)
        if digito > 9:
          digito = 0
        total = 0
        novo_cpf += str(digito)
    def valida_cpf():
      while True:
        sequencia = novo_cpf == str(novo_cpf[0]) * len(cpf)
        if cpf == novo_cpf and not sequencia:
          print()
          print('CPF cadastrado com sucesso. Agora vamos cadastrar as informações para login no sistema.')
          print()
          break
        else:
          print()
          print('O CPF informado é inválido.')
          print()
    valida_cpf()

 

Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.1k
    • Total Posts
      652k
×
×
  • Create New...