Індексація рядків і конкатенація
Перед вами одна з найдавніших відомих технік шифрування — шифр Цезаря. Він базується на простому зсуві кожної літери повідомлення на певну кількість позицій у межах заданого алфавіту. Наприклад, для англійського алфавіту зсув на 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", ____))