Necesito ayuda con un problema que me ha surgido al hacer un ejercicio. Este trata de que, en python, nos pasan un número por parametro y le tenemos que devolver todas las posibles combinaciones de números enteros positivos que sumados den el número inicial (ej: nos dan el numero 4 y devolvemos ((1, 1, 1, 1), (1, 1, 2), (1, 3), (2, 2))).
El caso es que lo he intentado hacer pero no funciona. Ne cesito ayuda.
Mi código es:
Código
suman=list() aux=list() cont=0 if n==1: return suman for i in range(n): aux.append(1) suman.append(tuple(aux)) for j in range(2,n): for z in suman: z=list(z) for l in z: if l==1: z.remove(1) cont+=1 if cont==j: z.append(j) suman.append(tuple(z)) print(suman) return suman
Espero que me podais ayudar.
Un saludo
MOD: Etiqueta GeSHi.