Lo que quiero hacer en este video es poner en claro
la diferencia entre
una definición de función irativa, o debería decir iterativa,
siempre lo pronuncio mal
definición de función iterativa
y una definición de función recursiva.
Lo haremos realmente por...justo como que entendemos donde la iteración está sucediendo
aquí y donde la recursión está sucendiendo aquí a la derecha.
Entonces cuando comenzamos vemos que 'product' lo hacemos igual a 1
y entonces entramos nuestro ciclo 'for' y el ciclo 'for' es realmente el meollo de la definición de la función iterativa.
Y entiendiendo lo que está pasando en el ciclo 'for' hagamos...hagamos una tablita aqui.
Así que voy a hacer una tabla para el valor de nuestra variable i y también voy a descifrar el
valor de 'product' multiplicado por i + 1,
porque cada iteración en este ciclo 'for' vamos a evaluar este asunto justo aquí
y luego voy a hacer una columna para el nuevo valor de nuestro 'product', el nuevo valor de nuestro 'product'.
Subrayemos estas cosas y luego tenemos el nuevo valor de nuestro 'product'.
Así que aprendimos en muchos videos anteriores que en Python decimos 'for i in range'.
Este 'range' de aquí,...
Este 'range' de aquí regresa una lista y regresa una lista del número de elementos
como el número que hemos pasado... Lo pasamos aqui.
Si asumimos y debería de haber dicho desde el principio.
Asumamos que estamos llamando sólo para hacer algo específico,
digamos este es el resultado de llamar el factorial de 3.
Entonces el argumento que pasamos a este factorial es 3. La variable 'number' se referirá a 3.
Cuando llamas 'range' de 'number', literalmente regresará una lista: 0, 1, 2.
Entonces 3 elementos comenzando con 0, el último elemento es 3 - 1. Es 2.
Y entonces cada ciclo a través de este ciclo 'for' se le va a asignar i a cada elemento sucesivo
en la lista.
Entonces la primera vez a través de este ciclo 'for' se le va a asignar a i un 0.
Nuestro i va a referir al 0.
Y entonces 'product' multiplicado i - 1, bueno en este primer ciclo, 'product' apareció antes de que
si quiera entrara en el ciclo, 'product' se definió como 1.
Entonces 'product' va a ser 1 y esto es 1 multiplicado por --No quiero hacerlo en ese color, sólo lo haré
en magenta...Lo haré en magenta--1 multiplicado por i, que es 0. 1 multiplicado por 0 + 1.
Más 1 y esto...y entonces nuestro nuevo valor de 'product' es esencialmente esto evaluado.
Lo tenemos bien aquí.
'Product' es igual a todo este asunto.