Çàäà÷à 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.
Ðàñøèôðîâàòü øèôðîâàííûé òåêñò, åñëè èçâåñòíî, ÷òî key_string =
à øèôðîâàííûé òåêñò òàêîé:
Çàäà÷à 4.
Ðàñøèôðîâàòü øèôðîâàííûé òåêñò, åñëè èçâåñòíî òîëüêî òî, ÷òî èñïîëüçîâàëñÿ îïèñàííûé âûøå øèôð, à òàêæå ñàìà øèôðîâêà: