Библиотека для вычисления площади геометрических фигур
Project description
Geometry Calculator Library
Простая, но мощная библиотека для вычисления площадей геометрических фигур, реализованная с применением принципов ООП и 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)
🛠️ Расширение библиотеки
- Создайте новый класс, унаследованный от
Figure - Реализуйте методы:
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
- Добавьте метод в фабрику
📊 Поддерживаемые фигуры
| Фигура | Параметры | Особенности |
|---|---|---|
| Круг | radius | - |
| Треугольник | side1, side2, side3 | Проверка на прямоугольность |
🤝 Как внести вклад
- Форкните репозиторий
- Создайте ветку (
git checkout -b feature/AmazingFeature) - Сделайте коммит (
git commit -m 'Add some AmazingFeature') - Запушьте (
git push origin feature/AmazingFeature) - Откройте Pull Request
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ruvik-geometry-calculator-1.0.0.tar.gz.
File metadata
- Download URL: ruvik-geometry-calculator-1.0.0.tar.gz
- Upload date:
- Size: 3.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6124c7ede3c635d81bcca3fcd3ad6bef5614337227f1e62fd53f32b7f022286d
|
|
| MD5 |
f05bff7dd970c09648f77a4bc66aae3f
|
|
| BLAKE2b-256 |
94b4911cbe8df35aba44032ea3ee449a05133054d3d02a1c36541cb4bdae16c8
|
File details
Details for the file ruvik_geometry_calculator-1.0.0-py3-none-any.whl.
File metadata
- Download URL: ruvik_geometry_calculator-1.0.0-py3-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9bde670b66bb9728dc3ef4961634c9317a4eb152d78dc432748bf93fa1c46871
|
|
| MD5 |
3bc2711e734d28db71d0a1adeeecf2c9
|
|
| BLAKE2b-256 |
0f2eac3091df02433173ad680af97b5f1453ad68d109ab2a2c0b9ae5d0797c9b
|