Я ударил кирпичную стену, пытаясь решить эту проблему, и я не уверен, как подойти к этой проблеме.
Моя идея состоит в том, чтобы сравнить оба первых символа каждой строки и, если они совпадают, сохранить символ в строке алфавита смещения позиции индекса.
Извлеките оставшуюся часть строки, удалив первый символ секрета. Если первые символы отличаются, повторите, но удалив первый символ строки алфавита.
Хотя я не уверен, как найти остальную часть алфавита.
alphabet = "abcdefghijklmnopqrstuvwxyz"
def caesar_encrypt(secret, shift):
if len(secret) == 0:
return ""
elif shift == 0:
return secret
else:
if secret[0] == alphabet[0]:
return alphabet[shift] + caesar_encrypt(secret[1:],shift)
else:
return caesar_encrypt(secret,shift), alphabet[1:]