Skip to content

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

Notifications You must be signed in to change notification settings

stanislavsibirtsev/geometry_lib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Geometry Library

Описание проекта

Простая и расширяемая библиотека на Python для вычисления площади геометрических фигур, с текущей поддержкой круга и треугольника. Позволяет вычислять площадь по радиусу (круг) и по трем сторонам (треугольник) с проверкой условий существования треугольника и определением, является ли треугольник прямоугольным.

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

Основные возможности

  • Вычисление площади круга.
  • Вычисление площади треугольника по формуле Герона.
  • Проверка, является ли треугольник прямоугольным.
  • Абстрактный базовый класс для легкого добавления новых фигур.
  • Универсальная функция для вычисления площади любой фигуры.
  • Валидация входных данных по сторонам и радиусу.
  • Юнит-тесты, покрывающие основные сценарии использования и ошибки.

Структура проекта

geometry_lib/
│
├── shapes.py           # Определение классов фигур (Circle, Triangle, Shape)
├── utils.py            # Утилиты (например, функция calculate_area)
└── tests/
    └── test_shapes.py      # Юнит-тесты для классов и функций библиотеки

Установка и использование

  1. Клонировать репозиторий или скопировать папку geometry_lib в проект.
  2. Подключать необходимые классы и функции:
from geometry_lib.shapes import Circle, Triangle
from geometry_lib.utils import calculate_area

circle = Circle(5)
triangle = Triangle(3, 4, 5)

print(f"Площадь круга: {calculate_area(circle)}")
print(f"Площадь треугольника: {calculate_area(triangle)}")
print(f"Является ли треугольник прямоугольным? {triangle.is_right_angle()}")

Запуск тестов

Для запуска юнит-тестов из корня проекта используйте:

python -m unittest geometry_lib.tests.test_shapes

Для успешного запуска убедитесь, что в папках geometry_lib и geometry_lib/tests есть файл __init__.py.

Разработка и расширение

Добавление новой фигуры заключается в:

  1. Создании нового класса, наследующего Shape.
  2. Реализации метода area.
  3. При необходимости добавлении специфичных методов для фигуры.
  4. Добавлении тестов в test_shapes.py.

Требования

  • Python 3.8+
  • Модули: стандартная библиотека (math, abc, unittest)

Контакты

Если есть вопросы или предложения — открывайте issues в репозитории или пишите на почту: stansibirtsev@yandex.ru


Эта библиотека создана для учебных целей и может быть расширена под любые нужды работы с геометрическими вычислениями.

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages