Foros del Web » Programando para Internet » Python »

LISTAS - Tarea de Universidad

Estas en el tema de LISTAS - Tarea de Universidad en el foro de Python en Foros del Web. Tengo la función Function(Number) con Number un String, que lo que debería hacer, es devolver todas las listas que se puedan generar a partir de ...
  #1 (permalink)  
Antiguo 23/05/2016, 17:48
 
Fecha de Ingreso: mayo-2016
Mensajes: 1
Antigüedad: 8 años, 5 meses
Puntos: 0
Pregunta LISTAS - Tarea de Universidad

Tengo la función Function(Number) con Number un String, que lo que debería hacer, es devolver todas las listas que se puedan generar a partir de Number sin alterar el orden y usando todos los elementos.

Aquí dejo un ejemplo de lo que debería pasar:
Function('1234')
(*)[1,234]
(*)[1,2,34]
(*)[1,2,3,4]
(*)[12,3,4]
(*)[123,4]
(*)[1234]
(#)[12,34]
(#)[1,23,4]


(*) Son las listas que he logrado retornar y (#) son las listas que no he podido retornar. Si alguien pudiera ayudarme a pensar en (#) lo agradecería un montón.

Si a alguien le sirve, le dejo lo que plantié para (*):

def function(number):
lists = [ ]
aux = [ ]
part1(number,lists,aux)
large = len(lists)
last = large - 1
part2(list(lists[last]),lists)
return lists
def part1(number,lists,aux):
large = len(number)
if large >= 2:
lista = [ ]
aux.append(number[0])
fixed = number[1:]
for i in aux:
lista.append(i)
lista.append(fixed)
lists.append(lista)
part1(fixed,lists,aux)
def part2(lista,lists):

large = len(lista)
if large >= 2:
lista[0] += str(lista[1])
lists.append(lista)
lista.pop(1)
part2(list(lista),lists)
  #2 (permalink)  
Antiguo 25/05/2016, 22:31
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: LISTAS - Tarea de Universidad

La solución de tu tarea en 159 caracteres, si lo hago mas pequeño tal vez puedas twittearlo.

Código Python:
Ver original
  1. l="a b c d".split();n=len(l)-1;print '\n'.join([("["+''.join(["%s"%l[j]+(", " if (i>>j)&1 else "") for j in range(n)]+["%s"%l[-1]])+"]") for i in range(1<<n)])

Última edición por razpeitia; 14/06/2016 a las 23:34

Etiquetas: arrays, listas, tarea, tareas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 07:35.