НачатьНачать бесплатно

Индексация и конкатенация строк

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