Skip to main content

Biblioteca profesional para calculos del teorema de Pitagoras

Project description

Pytagoras

Biblioteca profesional y sencilla para realizar cálculos del teorema de Pitágoras. Perfecta para estudiantes, educadores y desarrolladores que necesitan trabajar con triángulos rectángulos.

Características

  • Calcula la hipotenusa a partir de dos lados
  • Calcula lados faltantes dada la hipotenusa
  • Valida si tres lados forman un triángulo rectángulo válido
  • Código limpio, simple y fácil de usar
  • Manejo robusto de errores
  • Documentación completa en español
  • Sin dependencias externas
  • Totalmente tipado con type hints
  • Suite de pruebas unitarias incluida

Instalación

Desde PyPI (próximamente)

pip3 install Pytagoras

Para desarrollo

git clone https://github.com/Alvaro-Manzo/PYTHAGORAS_LIBRARY.git
cd PYTHAGORAS_LIBRARY
pip3 install -e .

Inicio Rápido

from Pytagoras import calcular_hipotenusa, es_triangulo_rectangulo

# Calcular hipotenusa con lados 3 y 4
resultado = calcular_hipotenusa(3, 4)
print(resultado)  # Salida: 5.0

# Validar si es un triángulo rectángulo
valido = es_triangulo_rectangulo(3, 4, 5)
print(valido)  # Salida: True

Referencia de API

calcular_hipotenusa(lado_a, lado_b)

Calcula la hipotenusa de un triángulo rectángulo usando el teorema de Pitágoras.

Fórmula: c = √(a² + b²)

Parámetros:

  • lado_a (float): Longitud del primer lado
  • lado_b (float): Longitud del segundo lado

Retorna:

  • (float): La longitud de la hipotenusa

Lanza:

  • ValueError: Si algún lado es menor o igual a cero

Ejemplo:

from Pytagoras import calcular_hipotenusa

# Calcular la hipotenusa de un triángulo 3-4-5
c = calcular_hipotenusa(3, 4)
print(c)  # 5.0

# Con valores decimales
c = calcular_hipotenusa(5.5, 7.3)
print(c)  # 9.070127018922193

calcular_lado_a(hipotenusa, lado_b)

Calcula el lado 'a' dada la hipotenusa y el lado 'b'.

Fórmula: a = √(c² - b²)

Parámetros:

  • hipotenusa (float): Longitud de la hipotenusa
  • lado_b (float): Longitud del lado b

Retorna:

  • (float): La longitud del lado a

Lanza:

  • ValueError: Si la hipotenusa no es el lado más largo o los valores son inválidos

Ejemplo:

from Pytagoras import calcular_lado_a

# Calcular el lado a sabiendo que c=5 y b=4
a = calcular_lado_a(5, 4)
print(a)  # 3.0

calcular_lado_b(hipotenusa, lado_a)

Calcula el lado 'b' dada la hipotenusa y el lado 'a'.

Fórmula: b = √(c² - a²)

Parámetros:

  • hipotenusa (float): Longitud de la hipotenusa
  • lado_a (float): Longitud del lado a

Retorna:

  • (float): La longitud del lado b

Lanza:

  • ValueError: Si la hipotenusa no es el lado más largo o los valores son inválidos

Ejemplo:

from Pytagoras import calcular_lado_b

# Calcular el lado b sabiendo que c=5 y a=3
b = calcular_lado_b(5, 3)
print(b)  # 4.0

es_triangulo_rectangulo(lado_a, lado_b, lado_c)

Verifica si tres lados forman un triángulo rectángulo válido.

Esta función identifica automáticamente cuál es la hipotenusa (el lado más largo) y valida si se cumple el teorema de Pitágoras.

Parámetros:

  • lado_a (float): Longitud del primer lado
  • lado_b (float): Longitud del segundo lado
  • lado_c (float): Longitud del tercer lado

Retorna:

  • (bool): True si los lados forman un triángulo rectángulo, False en caso contrario

Lanza:

  • ValueError: Si algún lado es menor o igual a cero

Ejemplo:

from Pytagoras import es_triangulo_rectangulo

# Triángulo 3-4-5 es válido
print(es_triangulo_rectangulo(3, 4, 5))  # True

# Triángulo 1-2-3 no es válido
print(es_triangulo_rectangulo(1, 2, 3))  # False

# El orden no importa
print(es_triangulo_rectangulo(5, 3, 4))  # True

validar_triangulo(lado_a, lado_b, hipotenusa)

Valida si tres lados específicos forman un triángulo rectángulo.

Use esta función cuando ya sepa cuál es la hipotenusa.

Parámetros:

  • lado_a (float): Longitud del primer lado
  • lado_b (float): Longitud del segundo lado
  • hipotenusa (float): Longitud de la hipotenusa

Retorna:

  • (bool): True si es un triángulo rectángulo válido, False en caso contrario

Lanza:

  • ValueError: Si algún lado es menor o igual a cero

Ejemplo:

from Pytagoras import validar_triangulo

# Validar un triángulo 3-4-5
print(validar_triangulo(3, 4, 5))  # True

# Validar un triángulo inválido
print(validar_triangulo(3, 4, 6))  # False

Manejo de Errores

Todas las funciones validan los valores de entrada y lanzan excepciones descriptivas si hay problemas:

from Pytagoras import calcular_hipotenusa

# Intentar calcular con valores negativos
try:
    calcular_hipotenusa(-3, 4)
except ValueError as e:
    print(f"Error: {e}")
    # Error: Todos los lados deben ser mayores que cero.

# Intentar calcular con cero
try:
    calcular_hipotenusa(0, 4)
except ValueError as e:
    print(f"Error: {e}")
    # Error: Todos los lados deben ser mayores que cero.

# Hipotenusa inválida
try:
    calcular_lado_a(3, 5)  # 3 no puede ser hipotenusa si el otro lado es 5
except ValueError as e:
    print(f"Error: {e}")
    # Error: La hipotenusa debe ser mas larga que los otros lados.

Ejemplos Prácticos

Ejemplo 1: Calcular la hipotenusa

from Pytagoras import calcular_hipotenusa

# Problema: Una escalera se apoya en una pared a 3 metros de altura
# y está a 4 metros de distancia de la pared. ¿Cuánto mide la escalera?

altura = 3
distancia = 4
largo_escalera = calcular_hipotenusa(altura, distancia)

print(f"La escalera mide {largo_escalera} metros")
# La escalera mide 5.0 metros

Ejemplo 2: Encontrar un lado desconocido

from Pytagoras import calcular_lado_a

# Problema: En un triángulo rectángulo, la hipotenusa mide 13 cm
# y uno de los catetos mide 5 cm. ¿Cuánto mide el otro cateto?

hipotenusa = 13
cateto_conocido = 5
cateto_desconocido = calcular_lado_a(hipotenusa, cateto_conocido)

print(f"El cateto desconocido mide {cateto_desconocido} cm")
# El cateto desconocido mide 12.0 cm

Ejemplo 3: Validar un triángulo

from Pytagoras import es_triangulo_rectangulo

# Problema: Verificar si tres segmentos forman un triángulo rectángulo

lado1 = 6
lado2 = 8
lado3 = 10

if es_triangulo_rectangulo(lado1, lado2, lado3):
    print("Los segmentos forman un triángulo rectángulo")
else:
    print("Los segmentos NO forman un triángulo rectángulo")

Pruebas

La biblioteca incluye una suite completa de pruebas unitarias:

python3 -m pytest tests/

O ejecutar las pruebas directamente:

python3 -m unittest tests.test_calculator

Estructura del Proyecto

PYTHAGORAS_LIBRARY/
├── Pytagoras/                  # Paquete principal
│   └── __init__.py            # Todas las funciones
├── tests/
│   ├── __init__.py
│   └── test_calculator.py     # Suite de pruebas
├── setup.py                   # Configuración para PyPI
├── README.md                  # Este archivo
├── LICENSE                    # Licencia MIT
├── requirements.txt           # Dependencias
└── .gitignore

Contribuir

Las contribuciones son bienvenidas. Por favor:

  1. Fork el repositorio
  2. Crea una rama para tu característica (git checkout -b feature/AmazingFeature)
  3. Commit tus cambios (git commit -m 'Add some AmazingFeature')
  4. Push a la rama (git push origin feature/AmazingFeature)
  5. Abre un Pull Request

Licencia

Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.

Autor

Alvaro-Manzo

Teorema de Pitágoras

El teorema de Pitágoras establece que en todo triángulo rectángulo, el cuadrado de la hipotenusa es igual a la suma de los cuadrados de los catetos:

c² = a² + b²

Donde:

  • c es la hipotenusa (el lado más largo)
  • a y b son los catetos (los otros dos lados)

Esta biblioteca implementa este teorema para que puedas calcular cualquier lado faltante o validar triángulos rectángulos de forma sencilla.

Preguntas Frecuentes

¿Qué es la hipotenusa? La hipotenusa es el lado más largo de un triángulo rectángulo, siempre opuesto al ángulo de 90 grados.

¿Puedo usar números decimales? Sí, todas las funciones aceptan números decimales y devuelven resultados precisos.

¿Qué pasa si ingreso valores negativos? La biblioteca lanzará un error ValueError con un mensaje descriptivo.

¿Puedo usar la biblioteca en proyectos comerciales? Sí, está licenciada bajo MIT, lo que permite uso comercial.


Hecho con dedicación por Alvaro-Manzo

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

pytagoras-1.0.0.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

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

pytagoras-1.0.0-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file pytagoras-1.0.0.tar.gz.

File metadata

  • Download URL: pytagoras-1.0.0.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pytagoras-1.0.0.tar.gz
Algorithm Hash digest
SHA256 449268eef0c0371da199517415bfe7e59ccb32cf44a1bb500f35f6b7769fb0b1
MD5 3fd5f2ec54a3c3175ce9a3196488de3c
BLAKE2b-256 c1d787eed0fcea9cc24a27fc2c3c713fc622c8137889f4b85dd63758f43e0470

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pytagoras-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 7.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pytagoras-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 625d799e42bdc60941d2be8cd98a0166930d1567689091cc06735c8e47243432
MD5 743a876e8ec994a744b599cad2ebcfb5
BLAKE2b-256 baa4230522cfe2e8c33bcaae06d8a1f4f9f980ecba09d4819758d441fc975b9a

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