Øêîëà179: /Èíôîðìàòèêà//Èíôîðìàòèêà / Àðõèâ/2014//Èíôîðìàòèêà / Àðõèâ / 2014 / 8 Á 1/ñaesarcipher ...

 

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



 
Ôàéëû[Ñêðûòü ôàéëû/ôîðìó]