Funcion lambda

alguien podria darme una explicacion (paso a paso como si fuera un niño de 6 años), de como funciona esta funcion lamba y porque el resultado da -1?, gracias
image

se pone el gorrito del intérprete

  • encuentra una función foo, la define
  • encuentra un print, que se está ejecutando
  • al print se le pasa un sólo argumento, el resultado de foo al ejecutarse (a foo la tiene ya definida, joya)
  • a foo se le pasan tres argumentos, una función, un 2 y un 1
  • hay que definir esa función: recibe x, devuelve el resto de hacer x dividido 2 (como enteros)
  • ejecuta foo, entonces
  • arranca foo, recibe una función, un 2 y un 1
  • devuleve el resultado de una expresión, esa expresión a priori es una resta
  • el lado izquierdo de la resta es aplicar la función sobre y… o sea termina haciendo 2%2, que da 0
  • el lado derecho de la resta es aplicar la función sobre z… o sea termina haciendo 1%2, que da 1
  • le queda entonces 0 - 1, es una resta de enteros, da -1, devuelve eso
  • ese resultado termina siendo el argumento del print
  • el print muestra por pantalla los caracteres correspondientes para dibujar ese número, o sea -1
  • the end
1 me gusta

muchisimas gracias :slight_smile:

1 me gusta