Dialogues
Современный мир наполнен средствами связи - социальные сети, мессенджеры, телефонные звонки и СМС. И всё же, при огромном богатстве выбора, порой в любом из средств обнаруживается изъян и в такие моменты появляется мысль: "Пора делать собственное средство связи. Уж оно-то точно будет лишено всех недостатков".
В этой миссии вам представится такая возможность.
Ваша задача - реализовать способ связи между человеком 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,...
CheckiO Extensions allow you to use local files to solve missions. More info in a blog post.
In order to install CheckiO client you'll need installed Python (version at least 3.8)
Install CheckiO Client first:
pip3 install checkio_client
Configure your tool
checkio --domain=py config --key=
Sync solutions into your local folder
checkio sync
(in beta testing) Launch local server so your browser can use it and sync solution between local file end extension on the fly. (doesn't work for safari)
checkio serv -d
Alternatevly, you can install Chrome extension or FF addon
checkio install-plugin
checkio install-plugin --ff
checkio install-plugin --chromium
Read more here about other functionality that the checkio client provides. Feel free to submit an issue in case of any difficulties.
Welcome to Pair Programming! Engage in real-time collaboration on coding projects by starting a session and sharing the provided unique URL with friends or colleagues. This feature is perfect for joint project development, debugging, or learning new skills together. Simply click 'Start Session' to begin your collaborative coding journey!
You are trying to join a pair programming session that has not started yet.
Please wait for the session creator to join.
It looks like the creator of the pair programming session closed the editor window.
It might happen accidentally, so that you can wait for reconnection.