Top.Mail.Ru

Нам дана структура иерархии сотрудников в межпланетной организации. Нужно решить задачу на Python, которая определит, говорят ли все сотрудники одного подразделения на одном языке.

Шаги решения:
1. Создадим класс “Сотрудник” со следующими свойствами:
– Имя
– Язык

2. Создадим класс “Организация” со следующими свойствами:
– Имя директора
– Словарь, где ключом является сотрудник, а значением – список его непосредственных подчиненных.

3. Реализуем методы в классе “Организация”:
– Добавить_сотрудника: добавляет сотрудника в организацию.
– Добавить_подчиненного: добавляет к сотруднику непосредственного подчиненного.
– Говорят_на_одном_языке: проверяет, говорят ли все сотрудники одного подразделения на одном языке.

4. В методе “Говорят_на_одном_языке” будем использовать рекурсию, чтобы проверить все подразделения:
– Если текущий сотрудник не имеет подчиненных, возвращаем True (так как он сам по себе является подразделением).
– Создаем переменную “языки” для хранения языков всех подчиненных сотрудников.
– Для каждого подчиненного добавляем его язык в список “языки”.
– Если в списке “языки” только один уникальный язык, возвращаем True (все подчиненные говорят на одном языке).
– В противном случае возвращаем False (не все подчиненные говорят на одном языке).

5. В функции main():
– Создаем экземпляр класса “Организация”.
– Считываем информацию о сотрудниках и их подчиненных из входных данных.
– Добавляем сотрудников и их подчиненных в организацию.
– Вызываем метод “Говорят_на_одном_языке” и выводим результат.

Таким образом, программа будет проверять, говорят ли все сотрудники одного подразделения на одном языке, основываясь на информации о структуре иерархии сотрудников в организации.

   
[metform form_id="1136"]