Hacker Language Hacker Language
Simple
Russian EN

Вы с друзьями решили почувствовать себя настоящими хакерами и для этого необходимо было выбрать специальный язык для общения в сети, понятный только вам. После долгих размышлений, вы решили что в оригинале сообщения будут на английском языке с возможностью написания времени в формате "hh:mm" и даты в формате "dd.mm.yyyy". Также (помимо "." и ":") могут использоваться символы "!", "?", "$", "%", "@".
После того, как сообщение написано и готово к отправке - его необходимо зашифровать по следующему принципу:
- все буквы и пробелы сперва преобразовываются в соответствующие ASCII коды, а затем каждое полученное таким образом число преобразовывается в двоичное число, за исключением пробела - пробел должен быть отображен как "1000000", а не "100000".
- числа, даты, время и специальные символы, описанные выше, не изменяются. После этого сообщение будет готово к отправке.

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

write(text) - дописывает к текущему тексту сообщения новый текст (text).
delete(N) - удаляет из текущего сообщения последние N символов.
send() - возвращает зашифрованное сообщение, которое будет отправлено.
read(text) - в качестве аргумента получает зашифрованное сообщение и возвращает его как обычный английский текст.

В этой миссии вам может помочь такой шаблон проектирования, как Interpreter.

Примеры:

message_1 = HackerLanguage()
message_1.write('Remember: 21.07.2018 at 11:11AM')
message_1.delete(2)
message_1.write('PM')
message_1.send()...
You should be an authorized user in order to see the full description and start solving this mission.