+1

¿Como corrijo la funcion recursiva pt() ?

# se busca hacer potencia con elementos de lista de forma recursiva para validar b^4 in lista_a ^20 def elemento_a_elemento(lista1,lista2): aux=[] for element in lista1: for elemento in lista2: aux.append(element + elemento) return aux def pt(lista,num): if num==0: return [] if num==1: return lista else: #necesito ayuda para hacer recursiva esta funcion, hasta ahora tengo esto: listaAux= elemento_a_elemento(lista,lista) return pt(listaAux,num-1) lista_a=['ac','b'] print (pt(lista_a,4))

3/27/2019 8:31:57 PM

Gustavo Muñoz

3 Answers

New Answer

+1

De hecho, como esta actualmente tu codigo, estas pasando la lista ['ac','b'] dos veces a la funcion elemento_a_elemento. Por elemento en la lista ['ac','b'] Por elemento en la lista ['ac','b'] Iteraciones: 1) 'ac' + 'ac' = 'acac' 2) 'ac' + 'b' = 'acb' 3) 'b' + 'ac' = 'bac' 4) 'b' + 'b' = 'bb' Te devuelve la lista: ['acac', 'acb', 'bac', 'bb'] Luego en la recursion: Por cada elemento en lista['acac', 'acb'..... Esta es el comportamiento que quieres para tu funcion? Ah, y el condicional (if num == 1) creo que no deberia ir, debido a que se perderia una potencia.. Exito!

0

¿Cuál se supone que debe ser el resultado de "print(pt(lista_a,4))"?

0

La 4 ta potencia de lista_a quedaria dentro elementos como acacacac, bbbb