Problem bei der for-Schleife
Verfasst: Samstag 19. März 2011, 00:48
Hallo,
hier eine kurze Zusammenfassung meines Programms:
Es beginnt mit einer Abfrage an den Benutzer, wieviele Durchläufe es machen soll. Die Eingabe ist der stop-Wert in range in der folgenden Schleife: Zufallszahlen werden erzeugt, die in einer Datei gespeichert werden, diese Datei wird mit einem anderen Programm geöffnet und ausgeführt (Parameterschätzung), dies ergibt 4 Parameter, die dann wieder eingelesen werden und in einer anderen Datei ausgegeben werden. Nach jedem Durchlauf müssen andere Parameter rauskommen und natürlich auch andere Zufallszahlen. (Innerhalb dieser Beschreibung kommen noch einmal 2 kleine for-Schleifen vor.)
Wenn ich diese große Schleife nur einmal durchlaufen lasse, und dies "von Hand" mehrmals wiederhole, kein Problem, alles funktioniert, es kommen unterschiedliche Parameter raus und die Zufallszahlen sind natürlich auch verschieden.
Wenn ich allerdings automatisch mehrmals durchlaufen lasse, zB. 5 mal, kommen 5 mal die gleichen Werte heraus, selbst die Zufallszahlen sind gleich (was nun wirklich nicht sein kann).
Mein erster Gedanke war, dass das Programm irgendwo zu schnell ist und schon Daten kopiert oder einliest noch bevor die Schleife zu Ende ist und die alten Daten überschrieben oder so.
Also habe ich den Befehl time.sleep() an verschiedenen Stellen eingebaut und damit rumgespielt und auch mal 5 sec warten lassen, was nun wirklich lange ist, hat aber nichts geholfen.
Was könnte ich noch ausprobieren?
Wo könnte der Fehler liegen?
Ich hoffe, ich habe den Code und mein Problem gut genug beschrieben, ansonsten kann ich noch mehr erklären.
Ich verstehe vorallem nicht, warum es funktioniert bei einen einzelnen Durchlauf mehrmals hintereinander, aber nicht bei mehreren. :K
Vielen Dank, Grüße.
hier eine kurze Zusammenfassung meines Programms:
Es beginnt mit einer Abfrage an den Benutzer, wieviele Durchläufe es machen soll. Die Eingabe ist der stop-Wert in range in der folgenden Schleife: Zufallszahlen werden erzeugt, die in einer Datei gespeichert werden, diese Datei wird mit einem anderen Programm geöffnet und ausgeführt (Parameterschätzung), dies ergibt 4 Parameter, die dann wieder eingelesen werden und in einer anderen Datei ausgegeben werden. Nach jedem Durchlauf müssen andere Parameter rauskommen und natürlich auch andere Zufallszahlen. (Innerhalb dieser Beschreibung kommen noch einmal 2 kleine for-Schleifen vor.)
Wenn ich diese große Schleife nur einmal durchlaufen lasse, und dies "von Hand" mehrmals wiederhole, kein Problem, alles funktioniert, es kommen unterschiedliche Parameter raus und die Zufallszahlen sind natürlich auch verschieden.
Wenn ich allerdings automatisch mehrmals durchlaufen lasse, zB. 5 mal, kommen 5 mal die gleichen Werte heraus, selbst die Zufallszahlen sind gleich (was nun wirklich nicht sein kann).
Mein erster Gedanke war, dass das Programm irgendwo zu schnell ist und schon Daten kopiert oder einliest noch bevor die Schleife zu Ende ist und die alten Daten überschrieben oder so.
Also habe ich den Befehl time.sleep() an verschiedenen Stellen eingebaut und damit rumgespielt und auch mal 5 sec warten lassen, was nun wirklich lange ist, hat aber nichts geholfen.
Was könnte ich noch ausprobieren?
Wo könnte der Fehler liegen?
Ich hoffe, ich habe den Code und mein Problem gut genug beschrieben, ansonsten kann ich noch mehr erklären.
Ich verstehe vorallem nicht, warum es funktioniert bei einen einzelnen Durchlauf mehrmals hintereinander, aber nicht bei mehreren. :K
Vielen Dank, Grüße.