Seite 1 von 1

Möglichkeiten

Verfasst: Montag 22. November 2004, 21:42
von Sorgenkind
Hallo hab ein kleines problem

möchte alle anordnungsmöglichkeiten von einem bestimmten raum für eine variable anzahl der tiefe

wenn man weiß wieviele dann würde mans ja so machen:

Code: Alles auswählen

for a in xrange(1,7):
    for b in xrange(1,7):
        for c in xrange(1,7):
            print a,b,c
naja und die tiefe des ganzen soll variabel sein

hab mir das so überlegt:

Code: Alles auswählen

from cStringIO import StringIO
def mgl(raum,d):
    c=StringIO()
    c.write("def aal(raum):\n")
    for i in xrange(d):
        c.write("%sfor a%s in raum:\n"%((i+1)*" ",i))
    c.write("%syield %s"%(" "*(i+2),",".join(["a%s"%x for x in xrange(d)])))
    exec c.getvalue()
    return aal(raum)

for a,b,c in mgl(xrange(1,7),3):
    print a,b,c
Wäre das gleiche, nur variabel...

Irgendwie gefällt mir aber das generieren von code nicht :cry:

Wüsste da wer ne bessere Variante?

Verfasst: Montag 22. November 2004, 23:55
von Dookie
Hi Sorgenkind,

http://python.sandtner.org/viewtopic.php?t=1812
dort steht der Parameter iterable für raum und n für d.

Gruß

Dookie