0
0 комментариев

Прошу помощи. Имеется задача:

https://stepik.org/lesson/Caesar-cipher-23896/step/1?adaptive=true&unit=6422

Шифр Цезаря заключается в замене каждого символа входной строки на символ, находящийся на несколько позиций левее или правее его в алфавите.

Для всех символов сдвиг один и тот же. Сдвиг циклический, т.е. если к последнему символу алфавита применить единичный сдвиг, то он заменится на первый символ, и наоборот.

Напишите программу, которая шифрует текст шифром Цезаря.

Используемый алфавит −− пробел и малые символы латинского алфавита: ‘ abcdefghijklmnopqrstuvwxyz’

Формат ввода:
На первой строке указывается используемый сдвиг шифрования: целое число. Положительное число соответствует сдвигу вправо. На второй строке указывается непустая фраза для шифрования. Ведущие и завершающие пробелы не учитывать.

Формат вывода:
Единственная строка, в которой записана фраза: Result: «…» , где вместо многоточия внутри кавычек записана зашифрованная последовательность.

Sample Input 1:
3
i am caesar
Sample Output 1:
Result: "lcdpcfdhvdu"

Итак, вот как я ее решил:

a = int(input())
b = input()
c = ' abcdefghijklmnopqrstuvwxyz'
res = []
len_c=len(c)
for i in b:
    res.append(c[(c.find(i)+a)%len_c])
print('Result: ', '"',''.join(res),'"', sep = '')

Интерпретатор выводит все верно. На сайте тест не проходит. Подскажите, пожалуйста, где ошибся.


Добавить комментарий