Skip to main content

Библиотека для вычисления площади геометрических фигур

Project description

Geometry Calculator Library

Python Version

Простая, но мощная библиотека для вычисления площадей геометрических фигур, реализованная с применением принципов ООП и SOLID.

📦 Установка

pip install ruvik-geometry-calculator

🌟 Основные функции

Круг

from geometry_calculator.figure.circle import Circle

circle = Circle(radius=5)
print(f"Площадь: {circle.area():.2f}")  # 78.54

Треугольник

from geometry_calculator.figure.triangle import  Triangle

triangle = Triangle(3, 4, 5)
print(f"Площадь: {triangle.area():.2f}")  # 6.00
print(f"Прямоугольный: {triangle.is_right()}")  # True

🏭 Фабрика фигур

from geometry_calculator.factory.figure_factory import FigureFactory

# Создание через фабрику
circle = FigureFactory.create_circle(10)
triangle = FigureFactory.create_triangle(5, 12, 13)

# Универсальный метод
figure = FigureFactory.create_figure("circle", 7)

🛠️ Расширение библиотеки

  1. Создайте новый класс, унаследованный от Figure
  2. Реализуйте методы:
class Square(Figure):
    def __init__(self, side):
        self.side = side
    
    def area(self):
        if not self._is_valid():
            raise ValueError("Некорректные параметры квадрата")
        return self.side ** 2
    
    def _is_valid(self):
        return self.side > 0
  1. Добавьте метод в фабрику

📊 Поддерживаемые фигуры

Фигура Параметры Особенности
Круг radius -
Треугольник side1, side2, side3 Проверка на прямоугольность

🤝 Как внести вклад

  1. Форкните репозиторий
  2. Создайте ветку (git checkout -b feature/AmazingFeature)
  3. Сделайте коммит (git commit -m 'Add some AmazingFeature')
  4. Запушьте (git push origin feature/AmazingFeature)
  5. Откройте Pull Request

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ruvik-geometry-calculator-1.0.0.tar.gz (3.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ruvik_geometry_calculator-1.0.0-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file ruvik-geometry-calculator-1.0.0.tar.gz.

File metadata

File hashes

Hashes for ruvik-geometry-calculator-1.0.0.tar.gz
Algorithm Hash digest
SHA256 6124c7ede3c635d81bcca3fcd3ad6bef5614337227f1e62fd53f32b7f022286d
MD5 f05bff7dd970c09648f77a4bc66aae3f
BLAKE2b-256 94b4911cbe8df35aba44032ea3ee449a05133054d3d02a1c36541cb4bdae16c8

See more details on using hashes here.

File details

Details for the file ruvik_geometry_calculator-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ruvik_geometry_calculator-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9bde670b66bb9728dc3ef4961634c9317a4eb152d78dc432748bf93fa1c46871
MD5 3bc2711e734d28db71d0a1adeeecf2c9
BLAKE2b-256 0f2eac3091df02433173ad680af97b5f1453ad68d109ab2a2c0b9ae5d0797c9b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page