1
resposta

CPFs iniciando com "0" - como corrigir

Tentei fazer o exercício utilizando CPFs iniciando com "0", porém o Python retorna o seguinte erro:

SyntaxError: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers

Fiz uma tentativa com o seguinte código, porém o problema é no recebimento do valor.

Como corrigir esse problema?

def formata_cpf(self):
        fatia_um = self.documento[0]
        fatia_dois = self.documento[1:3]
        fatia_tres = self.documento[3:6]
        fatia_quatro = self.documento[6:9]
        fatia_cinco = self.documento[9:]

        if fatia_um == 0:
            fatia_um = "0"

        return "{}{}.{}.{}-{}".format(fatia_um,fatia_dois,fatia_tres,fatia_quatro,fatia_cinco)
1 resposta

Leandro,

Tem um método mais simples dentro da sua logica, vc tem que pensar que o CPF como uma string.

def formata_cpf(self):
    """ 
        Método formatar o  CPF
        Tests:
        >>>print(formata_cpf('91289037736'))
        >>>912.890.377-36
    """
    return "%s.%s.%s-%s" % (self[0:3], self[3:6], self[6:9], self[9:11])