Articles of recursión de

Usar automáticamente la comprensión de lista / mapa () recursiva si a una función se le asigna una lista

Como usuario de Mathematica, me gustan las funciones que automáticamente “suben a través de listas” (como la gente de Mathematica lo llama, consulte http://reference.wolfram.com/mathematica/ref/Listable.html ). Eso significa que si a una función se le da una lista en lugar de un solo valor, automáticamente utiliza cada entrada de la lista como un argumento y devuelve […]

Resolviendo expresiones completamente entre paréntesis con recursión.

Estoy teniendo problemas para encontrar un método recursivo que pueda resolver ecuaciones completamente entre paréntesis … como ((3+2)/(1+4)) . Pude encontrar una solución recursiva para resolver expresiones infijos como +*+3421 usando recursión, pero para algo como ((3+2)/(1+4)) estoy un poco atascado. def evalPrefix(exp): it = iter(exp) return evalPrefixInner(it) def evalPrefixInner(it): item = it.next() if isInt(item): […]

error de scope en el cierre recursivo

¿Por qué funciona esto? def function1(): a = 10 def function2(): print a function2() pero esto no lo hace: def function1(): a = 10 def function2(): print a a -= 1 if a>0: function2() function2() Me sale este error: UnboundLocalError: local variable ‘a’ referenced before assignment

¿Pueden los generadores ser recursivos?

Intenté ingenuamente crear un generador recursivo. No funciono Esto es lo que hice: def recursive_generator(lis): yield lis[0] recursive_generator(lis[1:]) for k in recursive_generator([6,3,9,1]): print(k) Todo lo que obtuve fue el primer artículo 6 . ¿Hay alguna manera de hacer que ese código funcione? ¿Esencialmente, transferir el comando de yield al nivel superior en un esquema de […]

Función recursiva para árboles en Python

Estoy tratando de hacer una función en Python, que toma un nodo arbitrario de un árbol y llena una lista de listas basadas en el nodo dado. Dado el siguiente árbol mal dibujado: Si comenzamos en, por ejemplo, el nodo 5, deberíamos obtener: Una lista que contiene todos los nodos con el mismo nodo principal, […]

Python: se excedió la profundidad máxima de recursión al imprimir una excepción personalizada

El siguiente código lanza RuntimeError: maximum recursion depth exceeded while getting the str of an object . Puedo resolver la recursión infinita de dos maneras diferentes, pero no entiendo por qué funciona cada corrección y, por lo tanto, no sé cuál usar, o si alguna es correcta. class FileError( Exception ): def __init__( self, filename=None, […]

El código de Python para encontrar Eulerian Tour no funciona en un caso. ¿Por qué?

Estoy tratando de resolver un problema en Udacity que se describe a continuación: # Find Eulerian Tour # # Write a function that takes in a graph # represented as a list of tuples # and return a list of nodes that # you would follow on an Eulerian Tour # # For example, if […]

Python max recursion, pregunta sobre sys.setrecursionlimit ()

Tengo una pregunta sobre sys.setrecursionlimit() Desde la documentación de python esta función: Establezca la profundidad máxima de la stack de intérpretes de Python en límite. Este límite evita que la recursión infinita provoque un desbordamiento de la stack C y que Python se bloquee. El límite más alto posible depende de la plataforma. Es posible […]

¿Cómo mantener la cuenta en una función recursiva?

Escribí una función recursiva para encontrar el no. de instancias de una subcadena en la cadena principal. La forma en que mantengo el recuento es declarando / inicializando el recuento como una variable global fuera del scope de la función. El problema es que me dará resultados correctos solo la primera vez que se ejecute […]

Todas las permutaciones de una cadena en Python (Recursivo)

Necesito una patada en la cabeza en este caso. Tengo la siguiente función recursiva definida: def perms(s): if(len(s)==1): return s res = ” for x in xrange(len(s)): res += s[x] + perms(s[0:x] + s[x+1:len(s)]) return res + ‘\n’ perms (“abc”) actualmente devuelve: abccb bacca cabba El resultado deseado es abc acd bac bca cab cba […]