Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Pitagoras: El teorema de Pitágoras es una relación fundamental en geometría euclidiana entre los tres lados de un triángulo rectángulo. Afirma
que el área del cuadrado cuyo lado es la hipotenusa es igual a la suma de las áreas de los cuadrados de los otros dos lados.
Libreria click._compat: Click es un paquete de Python para crear hermosas interfaces de línea de comandos de una manera componible con
tan poco código como sea necesario. Es el "Kit de creación de interfaz de línea de comandos". Es altamente configurable pero viene con
valores predeterminados razonables listos para usar.
Su objetivo es hacer que el proceso de escritura de herramientas de línea de comandos sea rápido y divertido, al mismo tiempo que evita
cualquier frustración causada por la incapacidad de implementar una API CLI prevista.
#PITAGORAS
from math import sqrt
from click._compat import raw_input
try:
input = raw_input
except NameError:
pass
def get_numeric_value(prompt):
"""
Requests a numeric value from the standard input.
Returns None if no value was inserted.
"""
while True:
value = input(prompt)
if not value:
return None
try:
value = int(value)
except ValueError:
print("Debe ingresar un valor numerico. "
"Vuelva a intentarlo.")
else:
break
return value
def get_triangle(a=None, b=None, h=None):
"""
Returns a triangle string, with the specified values.
"""
return r"""
|\
| \
| \ h
| \ h
a | \
| \
|_ _ _\
b
a = %s
b = %s
h = %s""" % ("?" if a is None else a,
"?" if b is None else b,
"?" if h is None else h)
def main():
print(get_triangle())
print("\nDeje en blanco el valor que desconoce.\n")
a = get_numeric_value("a: ")
b = get_numeric_value("b: ")
if a is None or b is None:
h = get_numeric_value("h: ")
else:
h = None
if (bool(a) + bool(b) + bool(h)) < 2:
print("Debe especificar, al menos, dos valores.")
return 0
if h is None:
h = sqrt(a ** 2 + b ** 2)
elif a is None:
a = sqrt(h ** 2 - b ** 2)
elif b is None:
b = sqrt(h ** 2 - a ** 2)
print("")
print(get_triangle(a, b, h))
return 0
if __name__ == '__main__':
main()
|\
| \
| \ h
a | \
| \
|_ _ _\
a = ?
b = ?
h = ?
a: 5
b: 8
|\
| \
| \ h
a | \
| \
|_ _ _\
a = 5
b = 8
h = 9.433981132056603