Criei o código conforme explicado pelo instrutor, mas está resultando no erro 'DocCnpj' object has no attribute 'documento'
class Documento:
@staticmethod
def cria_documento (documento):
doc_str = str(documento)
if len(doc_str) == 11:
return DocCpf()
elif len(doc_str) == 14:
return DocCnpj()
else:
raise ValueError ('Quantidade de dígitos inválida')
class DocCpf: def init_(self, documento): if self.valida(documento): self.documento = documento else: raise ValueError ('Cpf inválido')
def __str__(self):
return self.formata()
def valida(self,documento):
validador = CPF()
return validador.validate(documento)
def formata(self):
mascara = CPF()
return mascara.mask(self.documento)
class DocCnpj: def init_(self, documento): if self.valida(documento): self.documento = documento else: raise ValueError ('Cnpj inválido')
def __str__(self):
return self.formata()
def valida(self,documento):
validador = CNPJ()
return validador.validate(documento)
def formata(self):
mascara = CNPJ()
return mascara.mask(self.documento)