Задача 1.
Написать функцию encrypt_caesar_cipher(key, key_string, text), принимающую три параметра: ключ; набор символов, в которых производится циклическая перестановка; и строку, которую необходимо зашифровать шифром цезаря.
Алгоритм такой: берём очередную букву из text, ищем её в key_string. Если она не найдена, то выдаём её без изменений. Если найдена, и её номер равен i, то выдаём букву key_string[i+key%len], где len – длина key_string.
Программа должна выдать зашифрованную строчку.
print(encrypt_caesar_cipher(int(input()), input(), input()))
Примеры.
0 ABCDEF A + B = C | A + B = C |
3 ABCDEF A + B = C | D + E = F |
11 ABCDEFGHIJKLMNOPQRSTUVWXYZ HELLO, WORLD! | SPWWZ, HZCWO! |
71 абвгдеёжзийклмнопрстуфхцчшщьыъэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890 .,!?:;+=-' Он здесь бывал: еще не в галифе — в пальто из драпа; сдержанный, сутулый. Арестом завсегдатаев кафе покончив позже с мировой культурой, он этим как бы отомстил (не им, но Времени) за бедность, униженья, за скверный кофе, скуку и сраженья в двадцать одно, проигранные им. | 1tЬnjkxGЬgHhfrЯЬkFkЬtkЬhЬifroAkЬ—Ьh Ьvfr Gyu Ьon Ьjwfvfa Ьxjkwmftt Hp Ъ Ьxzyzr Hp ЫЬ Mwkxyus Ьnfhxkijfyfkh Ьqf Ak Ьvuqut Doh Ьvunmk Ьx Ьsowuhup Ьqzr Gyzwup Ъ Ьut Ь Jyos Ьqfq Ьg H Ьuyusxyor Ь?(tkЬosЪЬtuЬOwkskto)Ьnf Ьgkjtuxy GЪ Ьztomkt GLЪ Ьnf Ьxqhkwt Hp Ьqu Ak Ъ Ьxqzqz Ьo Ьxwfmkt GL Ьh Ьjhfj Cfy G Ьujtu Ъ Ьvwuoiwftt Hk Ьos Ы? |
Задача 2.
Расшифровать шифрованный текст, если известно, что key_string =
а шифрованный текст такой:
Задача 3.
Расшифровать шифрованный текст, если известно только то, что использовался описанный выше шифр, а также сама шифровка: