Как я могу сделать каждую букву в сообщении закодированной, заменив ее буквой k позиций далее в алфавите ?. Например, если k = 3, «a» заменяется на «d», «b» заменяется на «e» и т. Д. Алфавит обертывается. «W» заменяется на «z», «x» на «a», «y» на «b» и «z» на «c». Вы можете предположить, что кодированное сообщение не пустое и содержит только строчные буквы и пробелы. Пространство кодируется как пробел. это то, что я пробовал, но он не работает, как нужно. Мне нужно указать количество букв для пропусков.Цезарный шифр: как принять сдвиг в качестве входных данных?
def encode(string,keyletter):
alpha="abcdefghijklmnopqrstuvwxyz"
secret = ""
for letter in string:
index = alpha.find(letter)
secret = secret+keyletter[index]
print secret
У вас есть код, что именно не работает? Вы отлаживали его? – Andrey
FYI: То, что вы пытаетесь сделать, - это [Цезарский шифр] (https://en.wikipedia.org/wiki/Caesar_cipher) – NightShadeQueen
, чтобы ввести количество букв для пропуска, просто используйте 'n = int (raw_input (' Количество букв для пропусков: ')) '. 'raw_input()' всегда возвращает строку – SirParselot