Fórum Cifra de César [espaçamento] #620600

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.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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

Lucas Aoki

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

1
2
3
4
5
if letra = " ":
    cripto += " "
else
    ...
    cripto += alfabeto[posicao]


Ou coisa parecida

Arthur Heinrich

Arthur Heinrich
Responder

Gostei + 1

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

1
2
3
4
5
if letra = " ":
    cripto += " "
else
    ...
    cripto += alfabeto[posicao]


Ou coisa parecida

Ler Mais...



Valeu irmão, vou tentar! Tamo junto
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar