I need a explicationπŸ˜…πŸ˜…πŸ˜…, how function the recursivity? | Sololearn: Learn to code for FREE!

+9

I need a explicationπŸ˜…πŸ˜…πŸ˜…, how function the recursivity?

Necesito una explicaciónπŸ˜…πŸ˜…πŸ˜…, ¿cómo funciona la recursividad?

43 Answers

New Answer

+8

Es que es mejor con números Caleb, se entiende mejor. P ej. def example(num): if num == 0: print('Fin de la recursividad') else example(num-1) La función se llama a sí misma a menos que pase algo (que num sea igual a 0)

+4

Básicamente la recursividad es llamar a la función dentro de su propia definición. Puedes pensar por ejemplo en una función como esta: f(x) = β€’ f(x / 2) si x es par β€’ x si x es impar Ahora evalúa esta función con diferentes números enteros y observa lo que sucede. Vamos a intentar por ejemplo con x = 12, no pierdas de vista la definición. Como 12 es par, entonces f(12) = f(6) Como 6 es par, entonces f(6) = f(3) Como 3 es impar, entonces f(3) = 3 ¿En base a esto cuál sería el valor númerico de f(12)? La función simplemente es recursiva porque se evalúa a sí misma.

+4

Pero igual se puede hacer recursividad para siempre def example: print('Texto de ejemplo XD') example()

+3

Con gusto te respondería pero aún estoy en nivel 0,1 😭

+3

Miguel Zabala Muchas gracias

+3

Miguel Zabala No entiendo, yo digo hacer una función recursiva, en vez de hacerlo con números, hacerlo con letras

+3

Luis Ángel Ruiz Gonzáles Miguel Zabala Gracias, ahora entiendo

+3

La recursividad se puede complejizar tanto como tu quieras (hasta indirecta, con más de una función), pero en sí es bastante básica. Y SoloLearn lo explica muy bien, mejor que cualquiera de nosotros

+3

Luis Ángel Ruiz Gonzáles Cierto

+3

La mejor respuesta es la primera la de Luis. Pues recursividad es que una función se llama a si misma

+3

Si, pero se puede usar un bucle y obtener los mismos resultados

+3

Luis Junior Aunque hay ciertos casos donde la implementación utilizando recursividad es mucho más elegante, solo que también hay que prestar atención a la eficiencia. Por ejemplo, el cálculo del factorial de un número es un clásico ejemplo de recursividad, su implementación es más elegante que la de un bucle, pero menos eficiente.

+3

β˜…β’Έβ’Άβ“β’Ίβ’· β’Όβ“Šβ’Ίβ“‡β“‡β’Ά β“„β“‡β“‰β’Ίβ’Όβ’Άβ˜… Por Favor, I dont speak Spanish/Portuguese...but recursion means calling the same function until an exit condition is met, usually n=0. It occurs in Nature eg.snowflakes. Unchecked it leads to stack overflow error.

+2

Cienrazones No te entendí πŸ˜…πŸ˜…πŸ˜…

+2

Miguel Zabala ¿Pudieras darme un ejemplo con letras?

+2

β˜…β’Έβ’Άβ“β’Ίβ’· β’Όβ“Šβ’Ίβ“‡β“‡β’Ά β“„β“‡β“‰β’Ίβ’Όβ’Άβ˜… Entiendo. Bueno, te pongo un ejemplo que por lo rápido se me ocurre. Hagámoslo con Python: def f(x): if len(x) < 10: return f(x) + 'pana' else: return x Nuevamente, esto es recursividad porque estoy evaluando la función dentro de sí misma. Me avisas si es entendible

+2

β˜…β’Έβ’Άβ“β’Ίβ’· β’Όβ“Šβ’Ίβ“‡β“‡β’Ά β“„β“‡β“‰β’Ίβ’Όβ’Άβ˜… El ejemplo que te pone Luis Ángel Ruiz Gonzáles efectivamente también es recursividad, pero algo importante a notar es que no posee un condicional que haga salir del proceso, por lo que se repetirá infinitamente

+2

Luis Junior Lo sé, ya me convencí de utilizarla

+2

La recursividad -como todo- puede volverse compleja y no es tan sencilla, pero Caleb, estás en el lvl 20, sé sincero, no sabías como funciona la recursividad? Es en serio?

+2

Miguel Zabala Sí, bro, es muy extricta