---
# 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"
}