Está en la página 1de 3

Practica 4

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 = ?

Deje en blanco el valor que desconoce.

a: 5

b: 8

|\

| \

| \ h

a | \

| \

|_ _ _\

a = 5

b = 8

h = 9.433981132056603

También podría gustarte