0
2 комментария

Всем привет, задали такое задание:

Программа, которую мы написали на прошлом уроке:
cipher1.py

Напоминаю идею.
Мы хотим спрятать тайное сообщение среди последовательности случайных букв.
https://ru.wikipedia.org/wiki/Решётка_Кардано
1) Берём квадрат размерами NxN клеток, заполняем его случайными буквами.
2) В каждой строчке выбираем по одной клетке. Записываем в эти клетки буквы из тайного сообщения.
Этот процесс можно себе представить как наложение решётки с вырезанными клетками на квадратный текст.

(если вы запустите программу, то увидите квадрат из букв и выделенные рамкой клетки решётки с сообщением)

Пусть теперь наш тайный агент Мата Хари хочет передать нам сообщение из Северной Кореи. Перед тем, как отправиться в логово врага под видом атташе по вопросам культуры, госпожа Хари запомнила наизусть следующий список чисел:

pos = [19, 10, 0, 18, 8, 16, 13, 16, 4, 19, 1, 6, 17, 0, 6, 4, 9, 13, 4, 11]

Эти числа соответствуют номерам клеток в каждой из строчек квадрата 20×20, в которые она вписывает сообщение (нумерация ведётся с нуля). После этого она записывает получившийся текст в виде одной строчки (сверху вниз, слева направо) и отсылает его в Центр в открытом виде sms-кой.

Нам пришло от неё следующее сообщение:

message = ‘въэамьюрйвюудоцвщзхущспьктцзьокчваозлтцоиыъэдуяйнщоввютдеичцижёыйлхъщыорикжрьтмккэхуънавчуоепышйчюорэюдйюьшзщхчюйыёщеаыдгхеиёьюзьъяыфньъфиоувлэбжсъосевёсйэиышлхкелънётьъымрцжамъщчлдъегхпцьълсьсяюяпшыахнэыээецшйщдтбуудшцскойтёгедщлыбшлфлуггвцшуййжхйбяхешыхгитэыукхъфяьчлёъивклъцчггйтнгкёсктвшъдхлюййшьфвккыияшёшжоёътсёхэосайчнёяэёнмсхдлбдшвбъфкгхуэйбмзслаочщбзажбгкычдаъкщгйгчььфквшьюцдзппкеьъиретиёжс’

Домашнее задание: написать программу, которая выведет на экран это сообщение и отметит клетки, в которых скрыта шокирующая новость.

Часть вторая (со звёздочкой):

На тот случай, если нужно передать сообщение длиннее 20 символов, наша отважная шпионка может повернуть решётку на 90 градусов и вписать в новые клетки следующие 20 букв, повернуть ещё на 90 градусов, вписать следующие 20, повернуть и вписать, повернуть и вписать (итого 80 букв). Решётка устроена так, что клетки при повороте никогда не повторяются (см вопрос с двумя звёздочками).

Измените программу так, чтобы она выделяла клетки четырёх положений решётки четырьмя разными цветами и расшифруйте следующее сообщение:

message = ‘оъэамьвркеюудоцвщлхкщсплктцзьяочваослтцорыъэдуййнщовпютдеичцижёыйжхыщыерикжрьтоккххуынавнуонпышрчюорэюдйюьшзщхчюйоёщааыдгхеиёсбзмъяыфвьъфсоквлобжсъосевёсйэиишлхкелърётьъымрцрамъщчидйерхпцьълсьсяюяпшеувсэыээецшйщдтбууошзспойтугрдщлыбшлфеуггвцшусйжхйбяхешыхгиаэызкыъфяхчлёъовгсъцчггйтнакёрктвшъдхлюййшьфвккаияшбшжлёътнёхтосайчнёяэёбмседибдшвбъфкгхуэибмзслоочщбзвжбгктчдаъдзгйгчьыфквоьсцдзппкеиаиаетиёжн’

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

вообщем начал я делать

(зеленого цвета т.к. у меня темная тема) помогите, я очень тупой


xanderlifefto добавлен комментарий

(надпись про коронавирус придумал не я, мне пофиг) , где написано &#039 там [

xanderlifefto добавлен комментарий

И не надо развивать message на несколько по 20, и уже с ними работать. Именно из одного message

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