4
respostas

[Sugestão] [Sugestão] Validando um CPF - Com ASCII Art e Formato de CPF na saída 123.456.789-01

E não, não usei IA kkkk .. E recomendo que faça o mesmo

Validando um CPF

Com ASCII Art e Formato de CPF na saída 123.456.789-01


Como ficou

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Como fazer

Primeiro arquivo é o main.py


from functions import letreiro, limpa, erro, formato

def entrada_usuario() -> str:
    """Recebe entrada do usuário e retorna cpf validado"""
    while True:	
        entrada = limpa(input("Digite um CPF: "))
        if not entrada.isdigit():
            erro("Erro: Digite somente números")
        elif len(entrada) != 11:
            erro("Erro: CPF precisa de 11 números")			
        else:
            return entrada

def resultado(cpf: str):
    """Imprime CPF válido"""
    print(f"\nCPF Válido : {formato(cpf)}")

def main():
    """Indice do programa"""
    letreiro() # letreiro do progrma
    cpf = entrada_usuario() # entrada e validação do que o usuário digitou 
    resultado(cpf) # resultado formatado

if __name__ == "__main__":
    main()

O segundo aquivo é o functions.py


import os

def letreiro():
    os.system("clear")
    print("""
      _____  ___    ____
     / ___/ / _ \  / __/
     / /__  / ___/ / _/  
    \___/ /_/    /_/    
    
    """)

def limpa(entrada: str) -> str:
    """Recebe uma str, retira pontuação e valores espaços em brancos"""
    return entrada.replace(".", "").replace("-", "").strip()

def erro(mensagem: str):
    print()
    input(mensagem + "\n\n(Tecle ENTER para continuar)...")
    letreiro()

def formato(num: str) -> str:
    """Recebe a str '123456789' e retorna com a máscara de CPF '123.456.789-01' """
    return f"{num[:3]}.{num[3:6]}.{num[6:9]}-{num[9:]}"

Foi razoavelmente fácil de fazer, mas levei mais tempo com a modificação do programa, do que fazer ele funcionar. Por isso recomendo que façam igual falam no vídeo, primeiro faça funcionar e depois modificando, quando se pega a manhã, modificar fica fácil.

E não, não usei IA kkkk .. Qqr duvida só comentar que eu respondo assim que possível : )

4 respostas

Só queria saber quanto tempo você tá estudando ? Fazer o código funcionar até que consigo com uma certa facilidade, mas a modificação.... Pra pensar por conta própria parece que nunca vem nada XD

Buenos dias mano Vitor!

Por incrível que parece faz bastante tempo.. Entre muitas idas e vindas, meu primeiro curso de programação foi na primeira faculdade que tentei em 2018.. era uma matéria do primeiro semestre de Engenharia, Lógica de Programação em C.

Se eu tivesse continuado e me esforçado, já dava pra ser sênior kkkk ..Já teria 8 anos de programação tranquilamente. Infelizmente eu acabei mudando algumas vezes, tentando outras coisas, não foquei meio em nada e hoje acabei voltando.

Hoje olhando pra trás, sei que eu era muito novo pra decidir.. acho que quando a gente sai da escola é muito difícil escolher alguma coisa pensando que é pra vida toda, mas ao mesmo tempo, faltou um pouco de orientação e planejamento da minha parte.. Se eu tivesse pensado e elaborado meus pontos fortes e fracos, e olhando o mercado, eu chegaria a mesma conclusão que cheguei hoje de trabalhar em tecnologia, mesmo em 2018 ainda não sendo hype.

Então depois de muita delonga, minha resposta pra sua pergunta é .. sim, programo a bastante tempo e domino o básico muito bem, mas não me aprofundei ainda.

Minha dica? Continua.. sempre em frente, olha pro topo, imagine onde quer chegar, depois olha pra baixo e vai subindo de degrau em degrau.
Com mais conhecimento e experiência, olhe pra cima de vez e quando e veja se é ainda é aquilo que vc quer, ajusta a rota se precisar, foca numa área específica, mas não para kkkk

Eu recentemente voltei com o foco em virar desenvolvedor, entrei em um estágio e cai em cibersegurança, experimentei, gostei, olhei pra cima, ajustei a rota e segui em frente.. Fica minha dica ai!

E sobre pensar, nesse curso, tem o PDF da Aula.. segue aquela idéia da orientadora.. faz pequeno e vai aumentando, qualquer coisa, pede pro chat ideias de melhorar seu código.

Fala Vinicius, tudo certo ?
O tamanho da decisão e o preparo que a gente precisa ter com uma idade tão nova, com tantas opções e tantos caminhos... É realmente muito difícil. Ainda mais pela falta de experiência, vivência e tambem falta de maturidade (Isso estou falando de mim mesmo).

Eu também tenho uma história parecida, tive oportunidade de estudar programação lá pra 2014 que tinha até interesse, mas como não entendia nada de mercado de trabalho, ou onde aplicaria isso...e tambem tudo que eu queria era ganhar um salário "alto" o quanto antes acabei partindo pra vida de imigrante tentando a vida fora do país. O que me proporcionou um certo pé de meia, mas agora, vendo o "prejuizo" de não ter estudado naquela época e ter construido uma carreira em uma boa área... Enfim acho que agora correr atrás de novo faz parte kkkk.

E agora como estou começando na área, várias vezes ainda fico muito no escuro em questão de se estou "aprendendo" mesmo ou não. E quando eu olho algumas respostas do fórum e vejo respostas bem mais elaboradas, me dá uma sensação de que faltei a algumas aulas comparando as minhas respostas , e como não temos como saber quanto tempo cada um passou fazendo o exercício ou o nível de experiencia total de cada um, as vezes acaba parecendo que estou fazendo algo muito básico e outras pessoas já estão em um nível mais alto na mesma "quantia" de aulas. Mas agora entendendo que realmente pra construir um código bom é dar tempo ao tempo e aos poucos, sempre adaptando e progredindo.

E muito obrigado pela resposta, esclareceu bastante. Achei seu código muito bom, de facil entendimento e bem limpo. Quando conseguir tentarei seguir esse exemplo.

Bons estudos pra nós. Tenha uma ótima semana!

Valeu Vitor,

Concordo plenamente com tudo que disse.

Inclusive sobre as respostas no fórum, pense que 99% das pessoas não posta suas respostas. Esse exercício do curso por exemplo tem 33 postagem no fórum pra 2.367 que fizeram o curso, da 1,4% das pessoas kkkk. Pensando também que a maioria que posta, é porque tem maior domínio e se sente confortável pra postar, ou seja, a maioria ainda está no caminho. E se você tá olhando o fórum e vendo possibilidades de melhoria, baseado nas respostas de quem tem mais domínio, isso é uma visão diferenciada, porque você tá enxergando como deve ser o domínio lá na frente Logo logo, vai escrever melhores códigos, e fazer parte do 1%.

Bora pra cima!