Перейти к содержимому
Задача · Классы · урок 11 из 11

Задача: площадь фигур

В заготовке уже есть класс Shape — фигура без своего __init__, его метод area(self) возвращает 0; не меняйте его. Модуль math в заготовке тоже уже подключён. Напишите:

  • класс Rect(width, height) — прямоугольник, дочерний класс Shape; его метод area(self) возвращает width * height;
  • класс Circle(radius) — круг, тоже дочерний класс Shape; его метод area(self) возвращает math.pi * radius ** 2, где math.pi — число π;
  • функцию total_area(shapes), которая возвращает сумму площадей всех фигур списка shapes.

Примеры:

  • Rect(2, 3).area() → 6
  • Circle(1).area() → 3.141592653589793
  • total_area([Rect(2, 3), Circle(1)]) → 9.141592653589793

Ограничения: размеры — положительные числа; в списке могут быть экземпляры Shape, Rect и Circle; для пустого списка total_area возвращает 0.

Не добавляйте лишних импортов, если в задаче это прямо не сказано.

shapes.py — python
python · строк: 27
Ctrl+Enter запуск · Esc выйти из редактора

Подпишись, чтобы пройти курс

Курс бесплатный. Войди через Telegram и подпишись на канал — откроются все уроки.

Войти другим способом