-
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.