elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  ayuda con funciones recursivas en python
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda con funciones recursivas en python  (Leído 4,261 veces)
wolfblood

Desconectado Desconectado

Mensajes: 7


Ver Perfil
ayuda con funciones recursivas en python
« en: 10 Octubre 2022, 01:29 am »

necesito que alguien me explique sobre la función recursiva en Python porfa es para poder hacer una tarea :huh: :huh: :huh:

MOD: Titulo modificado para ser mas descriptivo


« Última modificación: 10 Octubre 2022, 01:37 am por MCKSys Argentina » En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.471


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: ayuda con funciones recursivas en python
« Respuesta #1 en: 10 Octubre 2022, 01:36 am »

necesito que alguien me explique sobre la función recursiva en Python porfa es para poder hacer una tarea :huh: :huh: :huh:

Hola!

Qué es lo que necesitas que te expliquen? Porque en inet hay muchas explicaciones al respecto que son sencillas de entender: https://www.google.com/search?q=funciones+recursivas+en+python

Creo que necesitas ser más específico.

Saludos!


En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

wolfblood

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: ayuda con funciones recursivas en python
« Respuesta #2 en: 10 Octubre 2022, 01:50 am »

esque tengo que hacer esto mira:


escribir un programa que lea numeros ingresados y luego devuelva el total
se deve desarrollar utilazando recursión.
no se puede utilizar ciclos
se ingrasan numeros hasta que el usuario ingrese espacio
si el primer input es un espacio deve imprimir 0


y tengo esto escrito en codigo y es lo que llevo pero nose si voy bien :




def sumar(lista):
    if len(lista) == 1:
        print(lista[0])
        return lista[0]
    else:
        print(lista[0])
        return lista[0] + sumar(lista[1:])



listaNumeros = []
valor=int(input("ingresa un valor:"))
if valor != 0:
    listaNumeros.append(valor)
    
print("Total Sumado: ", sumar(listaNumeros))



ojo no estoy pidiendo la solución solo quiero saber si voy bien encaminado o no
« Última modificación: 10 Octubre 2022, 02:17 am por wolfblood » En línea

wolfblood

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: ayuda con funciones recursivas en python
« Respuesta #3 en: 10 Octubre 2022, 03:05 am »

actualizacion de mi codigo:


"""
escribir un programa que lea numeros ingresados y luego devuelva el total
se deve desarrollar utilazando recursión.
no se puede utilizar ciclos
se ingrasan numeros hasta que el usuario ingrese espacio
si el primer input es un espacio deve imprimir 0
"""

def sumar(lista):
    if len(lista) == 1:
        print(lista[0])
        return lista[0]
    else:
        print(lista[0])
        return lista[0] + sumar(lista[1:])



listaNumeros = []
valor=int(input("ingresa un valor:"))
if valor != 1:
    listaNumeros.append(valor)
elif valor == " ":
    print("0")

    
print("Total Sumado: ", sumar(listaNumeros))

literal funciona pero no se como hacer que vuelva a pedir el valor para poder sumar sin utilizar algún ciclo
En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.471


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: ayuda con funciones recursivas en python
« Respuesta #4 en: 10 Octubre 2022, 04:59 am »

literal funciona pero no se como hacer que vuelva a pedir el valor para poder sumar sin utilizar algún ciclo

Hola!

Revisa el siguiente código:
Código
  1. from six.moves import input                         # Utilizo este modulo para tener compatibilidad entre python 2 y 3
  2.  
  3. def sumatoria_recursiva ():                         # Funcion recursiva
  4.    valor = str(input('Ingresa un valor:'))         # Pide valor al usuario
  5.    if valor.isdigit():                             # Si lo ingresado es un numero, entonces...
  6.        return int(valor) + sumatoria_recursiva()   # devuelve la suma de dicho valor MAS lo que devuelva el llamado de la funcion en forma recursiva
  7.    elif valor == ' ':                              # Si el valor es espacio, entonces...
  8.        return 0                                    # la funcion devuelve cero (en una suma, el cero es neutro)
  9.  
  10. print ('La sumatoria de los enteros ingreados es de {}'.format(sumatoria_recursiva())) # Aca inicia el llamado a la funcion
  11.  

Para que entiendas cómo va funcionando, te recomiendo debuggear el codigo en un IDE, como por ej.: PyCharm (edicion comunitaria).

Saludos!
En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

Danielㅤ


Desconectado Desconectado

Mensajes: 1.681


🔵🔵🔵🔵🔵🔵🔵


Ver Perfil
Re: ayuda con funciones recursivas en python
« Respuesta #5 en: 10 Octubre 2022, 15:25 pm »

Hola, yo no se porque usan librerías con códigos tan simples que no necesitan el uso de ellas, aunque en python existe la ventaja de que se puede importar sólo una parte de la librería y no todas sus funciones.

Por ejemplo también he visto códigos que utilizan expresiones regulares con operaciones muy simples, que tranquilamente, se pueden usar funciones tipo método para recortar u obtener la parte deseada de una cadena de caracteres.
En mis tiempos cuando programaba jamás usaba expresiones regulares porque simplemente no las necesitaba y el patron que queria obtener lo obtenía usando métodos.

En este caso  es usar una función recursiva que la misma no es mas que una función que se llama a si misma tratándose como si la función fuera un bucle que repite el procedimiento hasta cierto momento.


Saludos
En línea

reymosquito

Desconectado Desconectado

Mensajes: 81


Ver Perfil
Re: ayuda con funciones recursivas en python
« Respuesta #6 en: 10 Octubre 2022, 19:05 pm »

tampoco entiendo el uso de bibliotecas innecesarias en algunos casos, pero...
re como muchos módulos te ahorran tiempo en cosas que ya están escritas. y las funciones recursivas bien implementadas ahorran memoria, claro que para eso, no hay que usarlas para huevadas.
En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.471


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: ayuda con funciones recursivas en python
« Respuesta #7 en: 11 Octubre 2022, 00:33 am »

Hola!

El paquete six lo puse porque no sé si está programando en python 2 o 3. Como six provee compatibilidad para ambas versiones, lo puse. Pero el comentario en mi código dice que sólo se usa por compatibilidad. Despues de todo, input sólo está en python3. En python 2 sería raw_input: https://six.readthedocs.io/

Tampoco soy de agregar libs sin necesidad, pero la compatibilidad, para mí, es esencial.

Saludos!
En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Python, funciones o libreria ?
Scripting
EvilGoblin 2 6,420 Último mensaje 11 Julio 2010, 20:35 pm
por xーいぱ
[Python] - Funciones « 1 2 »
Scripting
Meta 10 5,781 Último mensaje 26 Noviembre 2010, 00:39 am
por Meta
[Python] Importar Funciones de C++ a Modulo de Python
Scripting
Di6it4Lj4ck4L 2 4,086 Último mensaje 2 Mayo 2011, 19:08 pm
por Di6it4Lj4ck4L
Claves foráneas recursivas en Laravel
Bases de Datos
Patrick Bateman 0 3,451 Último mensaje 6 Abril 2017, 20:48 pm
por Patrick Bateman
Funciones void en python
Scripting
SERGIO_@PRENDE 1 2,780 Último mensaje 27 Septiembre 2021, 07:25 am
por Danielㅤ
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines