Cifra de César [espaçamento]
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
Curtidas 0
Melhor post
Arthur Heinrich
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
GOSTEI 1
Mais Respostas
Lucas Aoki
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
Valeu irmão, vou tentar! Tamo junto
GOSTEI 0