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 ladolado_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 hipotenusalado_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 hipotenusalado_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 ladolado_b(float): Longitud del segundo ladolado_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 ladolado_b(float): Longitud del segundo ladohipotenusa(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:
- Fork el repositorio
- Crea una rama para tu característica (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add some AmazingFeature') - Push a la rama (
git push origin feature/AmazingFeature) - Abre un Pull Request
Licencia
Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.
Autor
Alvaro-Manzo
- GitHub: @Alvaro-Manzo
- Repositorio: PYTHAGORAS_LIBRARY
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:
ces la hipotenusa (el lado más largo)aybson 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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
449268eef0c0371da199517415bfe7e59ccb32cf44a1bb500f35f6b7769fb0b1
|
|
| MD5 |
3fd5f2ec54a3c3175ce9a3196488de3c
|
|
| BLAKE2b-256 |
c1d787eed0fcea9cc24a27fc2c3c713fc622c8137889f4b85dd63758f43e0470
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
625d799e42bdc60941d2be8cd98a0166930d1567689091cc06735c8e47243432
|
|
| MD5 |
743a876e8ec994a744b599cad2ebcfb5
|
|
| BLAKE2b-256 |
baa4230522cfe2e8c33bcaae06d8a1f4f9f980ecba09d4819758d441fc975b9a
|