Загрузка данных


import math

# 1. Класс, представляющий окружность
class Circle:
    def __init__(self, radius):
        """Метод инициализации, который принимает радиус окружности."""
        self.radius = radius

    def area(self):
        """Метод, возвращающий площадь окружности."""
        return math.pi * (self.radius ** 2)

    def circumference(self):
        """Метод, возвращающий длину окружности."""
        return 2 * math.pi * self.radius


# 2. Класс, представляющий прямоугольник
class Rectangle:
    def __init__(self, width, height):
        """Метод инициализации, который принимает ширину и высоту прямоугольника."""
        self.width = width
        self.height = height

    def area(self):
        """Метод, возвращающий площадь прямоугольника."""
        return self.width * self.height

    def perimeter(self):
        """Метод, возвращающий периметр прямоугольника."""
        return 2 * (self.width + self.height)


# 3. Класс, представляющий треугольник
class Triangle:
    def __init__(self, side1, side2, side3):
        """Метод инициализации, который принимает длины сторон треугольника."""
        self.side1 = side1
        self.side2 = side2
        self.side3 = side3

    def perimeter(self):
        """Метод, возвращающий периметр треугольника."""
        return self.side1 + self.side2 + self.side3

    def area(self):
        """Метод, возвращающий площадь треугольника (по формуле Герона)."""
        p = self.perimeter() / 2  # Полупериметр
        return math.sqrt(p * (p - self.side1) * (p - self.side2) * (p - self.side3))


# --- Пример использования созданных классов ---
if __name__ == "__main__":
    print("--- Окружность ---")
    my_circle = Circle(5)
    print(f"Радиус: 5")
    print(f"Площадь: {my_circle.area():.2f}")
    print(f"Длина окружности: {my_circle.circumference():.2f}")

    print("\n--- Прямоугольник ---")
    my_rect = Rectangle(4, 6)
    print(f"Ширина: 4, Высота: 6")
    print(f"Площадь: {my_rect.area()}")
    print(f"Периметр: {my_rect.perimeter()}")

    print("\n--- Треугольник ---")
    my_triangle = Triangle(3, 4, 5)
    print(f"Стороны: 3, 4, 5")
    print(f"Периметр: {my_triangle.perimeter()}")
    print(f"Площадь: {my_triangle.area():.2f}")