Duda de un programa

Iniciado por informatico96, 25 Abril 2017, 13:47 PM

0 Miembros y 1 Visitante están viendo este tema.

informatico96

Hola buenas,
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 (python) [Seleccionar]
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.

MCKSys Argentina

MCKSys Argentina

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