1
resposta

[Projeto] Segue classe com utilização de REGEX para validadação, projeto disponível para análise

Segue projeto para análise e contribuição:

import re
from re import Match


class CEP:

    def __init__(self, number):
        if self.valid(number) is not None:
            self.__number = self.remove_mask(number)
        else:
            raise ValueError('CEP inválido')

    def valid(self, number: str) -> Match[str]:
        number = self.remove_mask(number)
        comp = re.compile(r"^\d{8}$")
        return comp.match(number)

    def remove_mask(self, number:str) -> str:
        return re.sub(r"[.-]", '', number)

    @property
    def number(self):
        return self.__number

    def __str__(self):
        return "{}.{}-{}".format(self.__number[:2], self.__number[2:5], self.__number[5:])
1 resposta

Olá Juliano, tudo bem com você?

Meus parabéns pelo seu empenho, fico feliz que tenha compartilhado-o com a comunidade do fórum Alura, seu código atende bem a proposta da atividade. Continue com essa dedicação, ela é muito importante para o seu desenvolvimento como pessoa programadora.

Não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Em caso de dúvidas estou à disposição.

Abraços e bons estudos!