Seite 1 von 1

Anzahl der Abläufe einer for-Schleife

Verfasst: Montag 9. Juni 2008, 17:46
von Evil4President
Hallo Leute,
mir ist leider kein besserer Titel fürs Topic eingefallen, aber ich kanns ja hier genauer beschreiben.
Ich habe in meinem Programmablauf eine for-Schleife, in der ich durch Division ermittle, wie oft eine Zahl in eine andere passt (wäre in meinem Fall die Länge einer Liste)... Nun will ich haben, dass die Länge der beiden Listen durch "Listenaddition" gleichgesetzt wird... Dazu möchte ich die for-Schleife, in der ich diesen "Rest" berechne genau so oft ablaufen lassen, wie der int(rest) groß ist, also z.B. 3 mal hintereinander...
Danach kann ich den Rest, der durch Subtrahieren ermittelt wird, per Slicings einbauen...
Mein Problem ist nun nur, festzulegen, dass die Schleife genau sooft abläuft, wie der Rest groß ist.
Hoffe mein Problem ist relativ klargeworden.
Vielen Dank schonmal,

evil4president

Verfasst: Montag 9. Juni 2008, 18:04
von Leonidas
Ich weiß nicht ob ich es so ganz verstehe, aber mir kommt es vor, dass du eine While-Schleife suchst. Alternativ kannst du auch ``break`` in der for-Schleife nutzen.

Verfasst: Montag 9. Juni 2008, 18:14
von Evil4President
Mir ist auch gerade aufgefallen, dass ich es etwas falsch erklärt habe... :)
Bin selbst gerade nicht 100% geistig bei mir, daher kann es auch sein, dass ich die Lösung nicht finde.
Ich habe etwas in der Art hier:

Code: Alles auswählen

liste1=list(wort)
liste2=list(text)
# rest berechnen
if len(liste1)>len(liste2):
     rest=int(len(liste1)/len(liste2))
Mit diesem Wert von "rest" soll er nun etwas dieser Art machen... Aber so geht das nicht:

Code: Alles auswählen

rest*(liste2+liste1)
Ich denke es sollte so etwas verständlicher sein; er soll einfach "rest"-mal sooft die kleinere Liste zur größeren addieren...

Habe gerade beim Überdenken einen etwas komplizierteren Lösungsweg entdeckt (glaube ich zumindest), werde den mal versuchen, wäre aber trotzdem dankbar für Hilfe ;-)

Verfasst: Montag 9. Juni 2008, 18:21
von Leonidas
Wenn man die Klammern weglässt wird es richtiger. Du multiplizierst die kleinere Liste mit ``rest`` und hängst die an die größere Liste an.

Verfasst: Montag 9. Juni 2008, 19:35
von Evil4President
Achso,
vielen Dank Leonidas!
Habe es jetzt über eine weitere for-Schleife auch gelöst. Heute Mittag stand ich etwas auf dem Schlauch...
Werde mir das aber merken, dass man Listen einfach multiplizieren kann.
Danke nochmal!