ПочатиПочніть безкоштовно

Індексація рядків і конкатенація

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