GeoAreaCalc


NameGeoAreaCalc JSON
Version 0.0.1 PyPI version JSON
download
home_pagehttps://github.com/Qiaxx/GeoAreaCalc
SummaryThis library calculates the area of shapes
upload_time2024-07-29 19:08:40
maintainerNone
docs_urlNone
authorQiaxx
requires_python==3.12
licenseNone
keywords calculate area geometry shape
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
---

# GeoAreaCalc

**GeoAreaCalc** — это Python-библиотека для вычисления площадей различных геометрических фигур, таких как круги и треугольники. Библиотека также включает проверку треугольников на прямоугольность.

## Установка

Для установки библиотеки выполните:

```bash
pip install GeoAreaCalc
```

или установите напрямую из GitHub:

```bash
pip install git+https://github.com/Qiaxx/GeoAreaCalc
```

## Использование

### Круг

Чтобы вычислить площадь круга, используйте класс `Circle`:

```python
from GeoAreaCalc.shapes import Circle

circle = Circle(radius=5)
area = circle.area()
print(f"Площадь круга: {area}")
```

Вывод:
```
Площадь круга: 78.53981633974483
```

### Треугольник

Чтобы вычислить площадь треугольника по трём сторонам и проверить, является ли треугольник прямоугольным, используйте класс `Triangle`:

```python
from GeoAreaCalc.shapes import Triangle

triangle = Triangle(3, 4, 5)
area = triangle.area()
is_right = triangle.is_right_triangle()

print(f"Площадь треугольника: {area}")
print(f"Является ли треугольник прямоугольным? {'Да' if is_right else 'Нет'}")
```

Вывод:
```
Площадь треугольника: 6.0
Является ли треугольник прямоугольным? Да
```

### Универсальный интерфейс

Используйте функцию `calculate_area` для вычисления площади фигуры без необходимости заранее знать её тип:

```python
from GeoAreaCalc.shapes import Circle, Triangle
from GeoAreaCalc.area_calculator import calculate_area

shapes = [Circle(5), Triangle(3, 4, 5)]

for shape in shapes:
    print(f"Площадь фигуры: {calculate_area(shape)}")
```

Вывод:
```
Площадь фигуры: 78.53981633974483
Площадь фигуры: 6.0
```

## Добавление новых фигур

Чтобы добавить новую фигуру, создайте новый класс, наследующий `Shape`, и реализуйте метод `area` для вычисления её площади. Пример:

```python
from GeoAreaCalc.shapes import Shape

class Square(Shape):
    def __init__(self, side):
        self.side = side

    def area(self):
        return self.side ** 2
```

Теперь вы можете вычислять площадь квадрата так же, как и для других фигур.

## Лицензия

Проект лицензирован под MIT License. Подробности см. в файле LICENSE.

## Авторы

[Dmitry B.](https://github.com/Qiaxx/GeoAreaCalc)

---

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Qiaxx/GeoAreaCalc",
    "name": "GeoAreaCalc",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "==3.12",
    "maintainer_email": null,
    "keywords": "calculate, area, geometry, shape",
    "author": "Qiaxx",
    "author_email": "belozertsev04@mail.ru",
    "download_url": "https://files.pythonhosted.org/packages/40/35/391b532d4734b8a338ef803d1f444ad4fe43a4ab2e57e603c708a486973a/geoareacalc-0.0.1.tar.gz",
    "platform": null,
    "description": "\r\n---\r\n\r\n# GeoAreaCalc\r\n\r\n**GeoAreaCalc** \u2014 \u044d\u0442\u043e Python-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043f\u043b\u043e\u0449\u0430\u0434\u0435\u0439 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0433\u0435\u043e\u043c\u0435\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0444\u0438\u0433\u0443\u0440, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \u043a\u0440\u0443\u0433\u0438 \u0438 \u0442\u0440\u0435\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a\u0438. \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0442\u0430\u043a\u0436\u0435 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0442\u0440\u0435\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a\u043e\u0432 \u043d\u0430 \u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u043e\u0441\u0442\u044c.\r\n\r\n## \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\r\n\r\n\u0414\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435:\r\n\r\n```bash\r\npip install GeoAreaCalc\r\n```\r\n\r\n\u0438\u043b\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0438\u0437 GitHub:\r\n\r\n```bash\r\npip install git+https://github.com/Qiaxx/GeoAreaCalc\r\n```\r\n\r\n## \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\r\n\r\n### \u041a\u0440\u0443\u0433\r\n\r\n\u0427\u0442\u043e\u0431\u044b \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u043f\u043b\u043e\u0449\u0430\u0434\u044c \u043a\u0440\u0443\u0433\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043a\u043b\u0430\u0441\u0441 `Circle`:\r\n\r\n```python\r\nfrom GeoAreaCalc.shapes import Circle\r\n\r\ncircle = Circle(radius=5)\r\narea = circle.area()\r\nprint(f\"\u041f\u043b\u043e\u0449\u0430\u0434\u044c \u043a\u0440\u0443\u0433\u0430: {area}\")\r\n```\r\n\r\n\u0412\u044b\u0432\u043e\u0434:\r\n```\r\n\u041f\u043b\u043e\u0449\u0430\u0434\u044c \u043a\u0440\u0443\u0433\u0430: 78.53981633974483\r\n```\r\n\r\n### \u0422\u0440\u0435\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a\r\n\r\n\u0427\u0442\u043e\u0431\u044b \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u043f\u043b\u043e\u0449\u0430\u0434\u044c \u0442\u0440\u0435\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a\u0430 \u043f\u043e \u0442\u0440\u0451\u043c \u0441\u0442\u043e\u0440\u043e\u043d\u0430\u043c \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438 \u0442\u0440\u0435\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a \u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u044b\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043a\u043b\u0430\u0441\u0441 `Triangle`:\r\n\r\n```python\r\nfrom GeoAreaCalc.shapes import Triangle\r\n\r\ntriangle = Triangle(3, 4, 5)\r\narea = triangle.area()\r\nis_right = triangle.is_right_triangle()\r\n\r\nprint(f\"\u041f\u043b\u043e\u0449\u0430\u0434\u044c \u0442\u0440\u0435\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a\u0430: {area}\")\r\nprint(f\"\u042f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438 \u0442\u0440\u0435\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a \u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u044b\u043c? {'\u0414\u0430' if is_right else '\u041d\u0435\u0442'}\")\r\n```\r\n\r\n\u0412\u044b\u0432\u043e\u0434:\r\n```\r\n\u041f\u043b\u043e\u0449\u0430\u0434\u044c \u0442\u0440\u0435\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a\u0430: 6.0\r\n\u042f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438 \u0442\u0440\u0435\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a \u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u044b\u043c? \u0414\u0430\r\n```\r\n\r\n### \u0423\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\r\n\r\n\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044e `calculate_area` \u0434\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043f\u043b\u043e\u0449\u0430\u0434\u0438 \u0444\u0438\u0433\u0443\u0440\u044b \u0431\u0435\u0437 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0437\u043d\u0430\u0442\u044c \u0435\u0451 \u0442\u0438\u043f:\r\n\r\n```python\r\nfrom GeoAreaCalc.shapes import Circle, Triangle\r\nfrom GeoAreaCalc.area_calculator import calculate_area\r\n\r\nshapes = [Circle(5), Triangle(3, 4, 5)]\r\n\r\nfor shape in shapes:\r\n    print(f\"\u041f\u043b\u043e\u0449\u0430\u0434\u044c \u0444\u0438\u0433\u0443\u0440\u044b: {calculate_area(shape)}\")\r\n```\r\n\r\n\u0412\u044b\u0432\u043e\u0434:\r\n```\r\n\u041f\u043b\u043e\u0449\u0430\u0434\u044c \u0444\u0438\u0433\u0443\u0440\u044b: 78.53981633974483\r\n\u041f\u043b\u043e\u0449\u0430\u0434\u044c \u0444\u0438\u0433\u0443\u0440\u044b: 6.0\r\n```\r\n\r\n## \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u043e\u0432\u044b\u0445 \u0444\u0438\u0433\u0443\u0440\r\n\r\n\u0427\u0442\u043e\u0431\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u0444\u0438\u0433\u0443\u0440\u0443, \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043d\u043e\u0432\u044b\u0439 \u043a\u043b\u0430\u0441\u0441, \u043d\u0430\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 `Shape`, \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0439\u0442\u0435 \u043c\u0435\u0442\u043e\u0434 `area` \u0434\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0435\u0451 \u043f\u043b\u043e\u0449\u0430\u0434\u0438. \u041f\u0440\u0438\u043c\u0435\u0440:\r\n\r\n```python\r\nfrom GeoAreaCalc.shapes import Shape\r\n\r\nclass Square(Shape):\r\n    def __init__(self, side):\r\n        self.side = side\r\n\r\n    def area(self):\r\n        return self.side ** 2\r\n```\r\n\r\n\u0422\u0435\u043f\u0435\u0440\u044c \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0442\u044c \u043f\u043b\u043e\u0449\u0430\u0434\u044c \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u0430 \u0442\u0430\u043a \u0436\u0435, \u043a\u0430\u043a \u0438 \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u0444\u0438\u0433\u0443\u0440.\r\n\r\n## \u041b\u0438\u0446\u0435\u043d\u0437\u0438\u044f\r\n\r\n\u041f\u0440\u043e\u0435\u043a\u0442 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0440\u043e\u0432\u0430\u043d \u043f\u043e\u0434 MIT License. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0441\u043c. \u0432 \u0444\u0430\u0439\u043b\u0435 LICENSE.\r\n\r\n## \u0410\u0432\u0442\u043e\u0440\u044b\r\n\r\n[Dmitry B.](https://github.com/Qiaxx/GeoAreaCalc)\r\n\r\n---\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "This library calculates the area of shapes",
    "version": "0.0.1",
    "project_urls": {
        "GitHub": "https://github.com/Qiaxx/GeoAreaCalc",
        "Homepage": "https://github.com/Qiaxx/GeoAreaCalc"
    },
    "split_keywords": [
        "calculate",
        " area",
        " geometry",
        " shape"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7354ce44c37fde18242e3d4d3050e3aebf19383d2a06df1f2df9df78650932ab",
                "md5": "8a18cfde1f6773ed04db8bcf4f2f64c8",
                "sha256": "fd468766ce37adb6d5bf4fdf695dbfec681fe076aa5abf6e0451908add993822"
            },
            "downloads": -1,
            "filename": "GeoAreaCalc-0.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8a18cfde1f6773ed04db8bcf4f2f64c8",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "==3.12",
            "size": 5138,
            "upload_time": "2024-07-29T19:08:39",
            "upload_time_iso_8601": "2024-07-29T19:08:39.088864Z",
            "url": "https://files.pythonhosted.org/packages/73/54/ce44c37fde18242e3d4d3050e3aebf19383d2a06df1f2df9df78650932ab/GeoAreaCalc-0.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4035391b532d4734b8a338ef803d1f444ad4fe43a4ab2e57e603c708a486973a",
                "md5": "ec0d34395e08943302265a6dbb0c715e",
                "sha256": "fc465197da22ca545244df55ea564d331e3d891b3454069f78d13e7164fde884"
            },
            "downloads": -1,
            "filename": "geoareacalc-0.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "ec0d34395e08943302265a6dbb0c715e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "==3.12",
            "size": 4125,
            "upload_time": "2024-07-29T19:08:40",
            "upload_time_iso_8601": "2024-07-29T19:08:40.505662Z",
            "url": "https://files.pythonhosted.org/packages/40/35/391b532d4734b8a338ef803d1f444ad4fe43a4ab2e57e603c708a486973a/geoareacalc-0.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-07-29 19:08:40",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Qiaxx",
    "github_project": "GeoAreaCalc",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "geoareacalc"
}
        
Elapsed time: 4.68253s