Задача · Классы · урок 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()→6Circle(1).area()→3.141592653589793total_area([Rect(2, 3), Circle(1)])→9.141592653589793
Ограничения: размеры — положительные числа; в списке могут быть экземпляры Shape, Rect и Circle; для пустого списка total_area возвращает 0.
Не добавляйте лишних импортов, если в задаче это прямо не сказано.
Подпишись, чтобы пройти курс
Курс бесплатный. Войди через Telegram и подпишись на канал — откроются все уроки.