[ Foro de Python ]
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!!
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.