Olá, Vinícius! Como vai?
Você quer que o programa continue pedindo o CPF até que um CPF válido seja inserido. Para isso, você pode usar um loop while que só será interrompido quando um CPF válido for informado. Vou te mostrar como fazer isso:
def validar_cpf():
while True:
try:
cpf = input("Digite o número do CPF (apenas números): ")
if not cpf.isdigit():
raise ValueError("Entrada inválida. Por favor, digite apenas números para o CPF.")
if len(cpf) == 11:
print("CPF válido.")
break
else:
print("CPF inválido. O CPF deve conter 11 dígitos.")
except ValueError as e:
print(e)
validar_cpf()
Aqui estão as mudanças que fiz:
- Usei
input() ao invés de float(input()), já que o CPF deve ser tratado como uma string de números. - Usei o método
isdigit() para verificar se todos os caracteres do CPF são numéricos. - Coloquei o código dentro de um loop
while True, que só é interrompido com break quando um CPF válido é inserido.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.