Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+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