[ Foro de Python ]

Algebra booleana

16-Aug-2024 10:20
Invitado (Mane)
1 Respuestas

Hola! Estoy aprendiendo programación y tengo un ejercicio que me está dando error y no encuentro el problema. Alguien podría ayudarme?

ENUNCIADO: Considerar que los elementos son las longitudes de los catetos de un triángulo rectángulo. Agregar un botón que revise los elementos correspondientes y si lista1[i] < 20 o lista2[i] < 30, ponga en la lista resultante el largo de la hipotenusa. Si no, no hacer nada. (Pista: Necesitas hacer import math (con los demás imports), y luego hipotenusa = math.sqrt(cateto1 * * 2 + cateto2 * * 2)). (los asteriscos van juntos)

FUNCION: def hipotenusa(lis1, lis2):
   res = []
   for i in range(len(lis1)):
       if lis1[i] < 20  or lis2[i] < 30:
           math.sqrt (lis1[i] ** 2 + lis2[i] ** 2)
   return res

BOTON: if st.button("Hipotenusa para <30 0 <20 (OR)"):
       resultado = hipotenusa(state.lista1, state.lista2)
       st.write(resultado)

El botón se crea, la operación se ejecuta y no aparece ningún error, pero el resultado que me arroja streamlit aunque se cumpla la condición es: []

Gracias!!


16-Aug-2024 10:49
Nacho Cabanes (+84)

Por una parte, calculas un raíz cuadrada que no guardas en ningún sitio.

Por otra parte, falta conocer los valores iniciales de ambas listas, que no son parte del fragmento de programa que has incluido.






Si ya eres usuario del sistema, puedes contestar desde tu cuenta y así ganar prestigio.

Si sólo eres un visitante, puedes optar por...