Red de conocimientos turísticos - Conocimientos sobre calendario chino - Cómo entender las funciones recursivas de Python

Cómo entender las funciones recursivas de Python

La idea de la recursividad es principalmente poder repetir algunas acciones, como factoriales simples, potencias, ocho reinas en retroceso, Sudoku y la Torre de Hanoi y fractales.

Debido al mecanismo de la pila, la recursividad general puede mantener algunas variables en el estado histórico, como el retorno x * potencia que mencionaste... Pero algunos problemas que pueden ser muy grandes o demasiado profundos necesitan debe evitarse en la medida de lo posible, porque la pila puede desbordarse. Otro problema es que ~~ Python no admite la optimización recursiva de cola. ! ! ! Entonces ~ trata de evitar la recursividad.

Definir potencia(x,n)

Si n lt0:

Devuelve 1

Devuelve x * potencia(x,n - 1)

Poder (3, 3)

3 * Poder (3, 2)

3 * (3 * Poder (3, 1))

3 * (3 * (3 * potencia (3, 0)))

3 * (3 * (3 * 1)) donde n = 0, devuelve 1.

3 * (3 * 3)

3 * 9

27

Cuando el parámetro de función n=0, comienza a salir ~ Hasta el final de la primera convocatoria.