Вводится строка — предложение, написанное латинскими буквами (большими и маленькими). Предложение зашифровано шифром цезаря. Известно, что исходное сообщение обязательно заканчивается словами «Ave Caesar!». Строчные буквы в сообщении заменяются на строчные, прописные — на прописные. Используется стандартный английский алфавит. Расшифровать и вывести это сообщение.
Ej pda bwya kb wixecqepu, nabqoa pda pailpwpekj pk cqaoo. Wra Ywaown!
Здесь смещение по алфавиту равно 21 (или, что то же самое, -4, проверьте!).
In the face of ambiguity, refuse the temptation to guess. Ave Caesar!
Подсказка 1: для решения этой задачи понадобятся знания о кодировке (codepoint) букв — этим занимается функция ord() (и обратная к ней chr()). В документации это переведено немножко роботом как «кодовая точка».
Подсказка 2: от классического шифра Цезаря задача отличается тем, что большие буквы надо менять на большие, а маленькие — на маленькие. Можно воспользоваться строка.islower() и строка.isupper(). Величина сдвига при этом одинаковая.
Подсказка 3: Если что, остаток от деления A на B (который в Википедии назван mod) — это A % B; а строки можно складывать. Ну, мало ли.
Спойлер: