Created
July 2, 2017 21:46
-
-
Save Marlysson/022499db3884cfe8e9ca9caae1c6c3e2 to your computer and use it in GitHub Desktop.
Um encriptador e decriptador de frase removendo vogais..
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- coding:utf-8 -*- | |
vogais = "aeiou" | |
def limpar_console(): | |
import os | |
os.system('cls||clear') | |
def normalizar_dados(): | |
for arquivo in ["arquivo_encript.txt","palavras.txt"]: | |
with open(arquivo,"w") as arquivo: | |
arquivo.write("") | |
def verificacao_de_continuar(): | |
continuar = int(input("\nDeseja continuar? \n1 - Sim\n2 - Não\n")) | |
if continuar == 2: | |
return True | |
return False | |
def gravar_dados_cript(dados): | |
with open("arquivo_encript.txt","a") as arquivo: | |
arquivo.write("{} {}\n".format(dados[0],dados[1])) | |
def gravar_palavra(dados): | |
with open("palavras.txt","a") as arquivo: | |
arquivo.write("{}\n".format(dados)) | |
def encriptar(frase): | |
nova_frase = "" | |
for indice, caractere in enumerate(frase): | |
if caractere.lower() in vogais: | |
gravar_dados_cript([caractere, indice]) | |
else: | |
nova_frase += caractere | |
return nova_frase | |
def decriptar(frase,dados_decript): | |
frase = list(frase) | |
for indice, letra in dados_decript: | |
frase.insert(int(indice),letra) | |
return "".join(frase) | |
while True: | |
normalizar_dados() | |
print("O que deseja fazer? ") | |
opcao = int(input("1 - Encriptar \n2 - Decriptar \n")) | |
limpar_console() | |
if int(opcao) == 1: | |
frase = str(input("Digite sua frase: ")) | |
gravar_palavra(frase) | |
encriptado = encriptar(frase) | |
print("Frase encriptada: "+ encriptado) | |
if verificacao_de_continuar(): | |
break | |
else: | |
limpar_console() | |
if int(opcao) == 2: | |
# Ler a sequência das vogais com suas posições e a frase encriptada | |
# TO-DO , usar arquivo csv ou sqlite para armazenar. | |
dados = [] | |
frase = str(input("Digite a frase encriptada: ")) | |
limpar_console() | |
while True: | |
letra = str(input("Digite a vogal desejada: ")) | |
posicao = int(input("Qual a posição dessa vogal na frase: ".format(letra))) | |
dados.append((posicao,letra)) | |
limpar_console() | |
if verificacao_de_continuar(): | |
break | |
else: | |
limpar_console() | |
limpar_console() | |
frase_decriptada = decriptar(frase,dados) | |
print("A frase completa é : {}".format(frase_decriptada)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment