Recursión en Python
Funciones que se llaman a sí mismas, encogiéndose hacia un caso base.
def factorial(n):
if n <= 1:
return 1
return n * factorial(n - 1)
def cuenta_regresiva(n):
if n == 0:
return ["despegue"]
return [n] + cuenta_regresiva(n - 1)
def suma_digitos(n):
if n < 10:
return n
return n % 10 + suma_digitos(n // 10)
Cómo funciona
factorialmultiplica hacia abajo hasta el caso base de 1.cuenta_regresivaarma una lista en el camino de regreso.suma_digitospela un dígito por llamada con%y//.
Palabras clave y builtins usados aquí
defifreturn
El intento, en números
- Líneas
- 16
- Caracteres a escribir
- 241
- Tokens
- 76
- Ritmo de tres estrellas
- 95 tpm
Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 48 segundos.
Paso 5 de 6 en Funciones; paso 37 de 72 en Fundamentos del lenguaje.