La próxima vez, por favor no uses imágenes.
Hay dos problemas en tu código original, el primero y menor es que return no es una función, con lo cual la línea 5 debería ser
y no
El segundo, y la causa de tu problema, es que no estás propagando el valor que devuelve tu función recursiva. Veámoslo con el ejemplo más simple posible: funcionNoIter(1, 2)
1º llamada: a < b, se invoca funcionNoIter(2, 2)
2º llamada: a == b, se devuelve 1
El problema es que ese 1 devuelto por la segunda llamada a funcionNoIter no es a su vez devuelto por la primera, con lo cual no llega a la llamada original. Es como si escribieras
cuando lo que deberías escribir es
La solución al problema es escribirlo como
Código Python:
Ver originalelif a < b:
return funcionNoIter(a+1, b, c)
En Python, las funciones que no tienen un valor de retorno devuelven None.
Saludos.