Una funcion recursiva debe siempre tener una condicion de parada o salida para que la llamada a si misma no genere un bucle infinito, tiene que llegar un momento donde dicha funcion deje de llamarse y pare su ejecucion obteniendo el resultado esperado.
Normalmente el ejemplo tipico para mostrar esto es el factorial de un numero, pero puede generar mas confusion, por lo que el ejemplo que pongo aqui es una cuenta atras.
Creamos la funcion cuentaAtras donde se ira comprobando si hemos llegado a 0, en caso negativo se vuelve a llamar a la funcion cuentaAtras pero con el parametro anterior - 1, se vuelve a comprobar la condicion, en caso de que el numero ya sea inferior a 1 pararemos su llamada.
Observa el codigo:
#cuenta atras, funcion recursiva
def cuentaAtras(num):
if num>0:
print(num)
num-=1
cuentaAtras(num)
else:
print("Se acabo la cuenta atras ")
cuentaAtras(10)
No hay comentarios:
Publicar un comentario
Se procedera a revision para su pronta publicacion en caso de que no incumpla las normas de blogger.