Cifra de César [espaçamento]
09/10/2023
0
Acabei de terminar um programa da Cifra de César pedido pelo meu professor. Ele está funcionando perfeitamente, no entanto há um problema. Se eu escrevo uma frase com espaços, o programa desconsidera os espaços e põe uma letra 'a' no lugar e não espaça a frase. Alguém conseguiria me auxiliar.
print("-=-" * 16) print(15 * " ", "CIFRA DE CÉSAR") print("-=-" * 16) chave = int(input("Digite a chave de criptografia (Máx. 26): ")) while chave > 26 or chave < 0: chave = int(input("Chave inválida, tente novamente: ")) alfabeto = "abcdefghijklmnopqrstuvwxyz" opcao = int(input("\nEscolha o modo que vc deseja\n[ 1 ] Encriptar\n[ 2 ] Descriptar\n ")) texto = str(input("\nInsira o texto: ")).lower() cripto = ' ' if opcao == 1: for letra in texto: posicao = alfabeto.find(letra) #como a contagem de uma string inicia-se no 0, somei mais 1 para poder realizar a soma de forma convencional posicao += chave if posicao > len(alfabeto): posicao -= len(alfabeto) cripto += alfabeto[posicao] elif opcao == 2: for letra in texto: posicao = alfabeto.find(letra) posicao -= chave if posicao < 0: posicao = len(alfabeto) - abs(posicao) cripto = cripto + alfabeto[posicao] print(f"Sua mensagem:")
Lucas Aoki
Curtir tópico
+ 0
Responder
Post mais votado
09/10/2023
Você quer que, quando a frase contiver um espaço, a resposta seja exibida com espaço: "caldo de cana" => "dbmep ef dbob"
Faça um
Ou coisa parecida
Faça um
if letra = " ": cripto += " " else ... cripto += alfabeto[posicao]
Ou coisa parecida
Arthur Heinrich
Responder
Mais Posts
10/10/2023
Lucas Aoki
Você quer que, quando a frase contiver um espaço, a resposta seja exibida com espaço: "caldo de cana" => "dbmep ef dbob"
Faça um
Ou coisa parecida
Faça um
if letra = " ": cripto += " " else ... cripto += alfabeto[posicao]
Ou coisa parecida
Valeu irmão, vou tentar! Tamo junto
Responder
Clique aqui para fazer login e interagir na Comunidade :)