Написание кода на Python

Выполнен
Заказ
6066052
Раздел
Программирование
Тип работы
Антиплагиат
Не указан
Срок сдачи
4 Мая 2024 в 13:00
Цена
500 ₽
Блокировка
5 дней
Размещен
4 Мая 2024 в 01:08
Просмотров
75
Описание работы

В коде описан класс DynastyExperienceCounter, при его инициализации в конструктор передаётся объект класса Spaceman — космонавт. Допишите метод count_dynasty_experience класса DynastyExperienceCounter, который посчитает необходимый стаж космонавта и всех его предков.

Решением должен быть рекурсивный обход дерева: в каждом следующем уровне рекурсии должны обрабатываться узлы, хранящиеся в атрибутах father и mother текущего узла.


from __future__ import annotations

from typing import Optional


class Spaceman:


  def __init__(

      self,

      name: str,

      space_experience: int,

      father: Optional[Spaceman] = None,

      mother: Optional[Spaceman] = None,

  ):

    self.name = name

    self.space_experience = space_experience

    self.father = father

    self.mother = mother


class DynastyExperienceCounter:


  def __init__(self, spaceman: Spaceman):

    self.root = spaceman

    self.total_experience: int = 0


  def count_dynasty_experience(self):

    # Доработайте метод, чтобы он считал

    # суммарный опыт династии космонавтов.

    ...

    return self.total_experience


yu_a_makarin = Spaceman(

  name='Юрий Алексеевич Макарин',

  space_experience=10,

  father=Spaceman(

    name='Алексей Михайлович Макарин',

    space_experience=25,

    mother=Spaceman(

      name='Евгения Владимировна Беляева',

      space_experience=1

    )

  ),

  mother=Spaceman('Ангелина Васильевна Черенкова', 5)

)

counter = DynastyExperienceCounter(yu_a_makarin)

result = counter.count_dynasty_experience()

print(result)

Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу 1 год
Средний балл 4.96
Стоимость Назначаете сами
Эксперт Выбираете сами
Уникальность работы от 70%
Время выполнения заказа:
27 минут
Выполнен в срок
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Темы журнала
Показать ещё
Прямой эфир