# IMPORTAÇÕES
import random
import string


# FUNÇÃO QUE GERA NÚMEROS DE CEP
def gerar_cep(quantidade=1):

    # VERIFICA SE "QUANTIDADE" NÃO É DO TIPO INTEIRO
    if not type(quantidade) == int:
        raise TypeError("O parâmetro fornecido deve ser do tipo inteiro!")

    # VERIFICA SE "QUANTIDADE" É MENOR QUE 1 OU MAIOR QUE 1000
    if quantidade < 1 or quantidade > 1000:
        raise ValueError("O valor de quantidade deve estar entre 1 e 1000!")

    # BASE DE CARACTERES PARA A GERAÇÃO DOS CEPS
    base_caracteres = string.digits
    # CEP GERADO
    cep = ""
    # LISTA DE CEPS GERADOS
    lista_ceps = []

    # QUANTIDADE DE CEPS A SEREM GERADOS
    quantidade_ceps = quantidade

    # LOOP DE GERAÇÃO DOS CEPS
    for x in range(quantidade_ceps):
        for y in range(8):
            cep = random.choice(base_caracteres) + cep

        # FORMATA O CEP GERADO
        cep = cep[:2] + "." + cep[2:5] + "-" + cep[5:]
        # ADICIONA O CEP GERADO NA LISTA DE CEPS
        lista_ceps.append(cep)
        # REDEFINE "CEP"
        cep = ""

    # RETORNA A LISTA DE CEPS GERADOS
    return lista_ceps
