

Программирование
+1Помогите с пайтон
Реализовать абстрактный класс Фигура (Shape), с методами:
1.calc_area() – вычислить площадь фигуры
2. calc_perimeter() – вычислить периметр фигуры.
На его основе реализуйте классы Прямоугольник (Rectangle), конструктор
которого принимает лишь два параметра, класс Квадрат (Square), конструктор
которого принимает один параметр, класс Окружность конструктор которого
принимает два аргумента. Реализуйте методы calc_area и calc_perimeter для
вышеописанных классов.
По дате
По рейтингу
я честно не знаю какой второй аргумент взять для круга
123456789101112131415161718192021222324252627282930313233343536373839404142
from abc import ABC, abstractmethod
import math
class Shape(ABC):
@abstractmethod
def calc_area(self):
pass
@abstractmethod
def calc_perimeter(self):
pass
class Rectangle(Shape):
def __init__(self, width, height):
self.width = width
self.height = height
def calc_area(self):
return self.width * self.height
def calc_perimeter(self):
return 2 * (self.width + self.height)
class Square(Shape):
def __init__(self, side):
self.side = side
def calc_area(self):
return self.side ** 2
def calc_perimeter(self):
return 4 * self.side
class Circle(Shape):
def __init__(self, radius):
self.radius = radius
def calc_area(self):
return math.pi * (self.radius ** 2)
def calc_perimeter(self):
return 2 * math.pi * self.radius