DIEGO ENRIQUE MONTES ALVIS
Preguntauna consulta porque en la condicion if n==1: return 1 ( no se puede else : return nfactorial (n-1) y solo puso defrente return nfactorial ( n-1) .Tengo entendido que cuando n =1 se retorna 1 pero a la vez retorna 1 *factorial (0) porque existe un return en if y otro return de la funcion se ejecuta dos returns? o como funciona . ayudaa

Josue Granados
Hola Diego! El keyword return have 2 cosas: 1- regresa un valor 2- termina una función Entonces no te tienes que preocupar por las líneas debajo del if, si escribiste return y la condición es verdadera se regresará el valor que le especificaste y terminará de ejecutar esa función inmediatamente.
DIEGO ENRIQUE MONTES ALVIS
te entendi que cuando se ejecuta una función solo es capaz de hacer un return y no dos por lo que si if n ==1 es verdadero retorna 1 y sale de la funcion global . Es asi ,o me equivoco en algo?
DIEGO ENRIQUE MONTES ALVIS
la verdad que no te comprendi del todo , he visto videos en youtube y colocan if n==1 : return 1 else : return n*factorial(n-1) y a ese codigo le doy mas sentido respecto a este codigo , lo que no entiendo es que es lo que ocurre cuando el if n==1 es verdadero y retorna 1 , es similar a un break de un loop? es necesario siempre colocar el caso base dentro de una condicional if ?

JESUS ALBERTO CARREÑO MARTINEZ
Hola En este tipo de programas siempre se suele programar el caso base o excepción aparte. Porque si colocamos
return fibonacci(n - 1) + fibonacci(n - 2)
como un else del if, es como si le estuviéramos diciendo al programa que esa también es una excepción.
En realidad no afecta si lo colocamos como un else, pero es parte de las buenas practicas de un programador dedicar una función entera a lo que necesite hacer y colocar las excepciones aparte
Y respecto a si la función entrega los 2 returns a la vez, la verdad es que no. Lo que hace es evaluar el dato que ingresamos y en base a eso regresarnos un return u otro, según sea el caso.
Espero haberme podido expresar con claridad Porfavor si tienes una duda dila y así podré ayudarte
Saludos