Dialogues Dialogues
Simple
EN Russian

Современный мир наполнен средствами связи - социальные сети, мессенджеры, телефонные звонки и СМС. И всё же, при огромном богатстве выбора, порой в любом из средств обнаруживается изъян и в такие моменты появляется мысль: "Пора делать собственное средство связи. Уж оно-то точно будет лишено всех недостатков".
В этой миссии вам представится такая возможность.
Ваша задача - реализовать способ связи между человеком Human(name) и роботом Robot(serial_number) с последующим выводом их переписки. Для этого вам необходимо создать класс для каждого из двоих собеседников и метод send() для отправки сообщений в чат, а также класс Chat как средство связи. Chat должен обладать следующими методами:
connect_human() - подключает к чату человека.
connect_robot() - подключает к чату робота.
show_human_dialogue() - отображает диалог так, как его видит человек - обычным текстом.
show_robot_dialogue() - отображает диалог так, как его видит робот - в виде набора нулей и единиц. Для простоты будем считать, что любая гласная буква ("aeiouAEIOU") в текстовом сообщении должна быть заменена на "0", а все остальные символы (согласные буквы, пробелы и специальные знаки, как ",", "!" и т.п.) на "1".
Диалог для человека должен отображаться как многострочная строка вида:
(human name) said: текст сообщения
(robot serial number) said: текст сообщения
Для робота:
(human name) said: 11100100011
(robot serial number) said: 100011100101
В этой миссии вам может помочь такой шаблон проектирования, как Mediator.

Примеры:

chat = Chat()
karl = Human("Karl")
bot = Robot("R2D2")
chat.connect_human(karl)
chat.connect_robot(bot)
karl.send("Hi! What's new?")
bot.send("Hello,...
You should be an authorized user in order to see the full description and start solving this mission.