Индексация и конкатенация строк
Перед вами один из древнейших известных методов шифрования — шифр Цезаря. Он основан на простом сдвиге каждой буквы сообщения на определённое количество позиций в заданном алфавите. Например, при сдвиге на 1 для 'xyz' в английском алфавите получится 'yza', и наоборот при расшифровке. Обратите внимание: 'z' в этом случае превращается в 'a'.
Таким образом, шифрование и расшифровка требуют двух аргументов: текста и целочисленного ключа, задающего величину сдвига (key = 1 для приведённого примера).
Ваша задача — создать функцию шифрования, используя английский алфавит, хранящийся в строке alphabet.
Это упражнение является частью курса
Практика задач для собеседования по программированию на Python
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
def encrypt(text, key):
encrypted_text = ''
# Fill in the blanks to create an encrypted text
for char in text.lower():
idx = (alphabet.____(____) + ____) % len(____)
encrypted_text = encrypted_text + alphabet[idx]
return encrypted_text
# Check the encryption function with the shift equals to 10
print(____("datacamp", ____))