Seite 1 von 1

Variable erhöhen

Verfasst: Mittwoch 5. Januar 2011, 00:33
von nahkillo
Hallo,

ich habe folgendes Problem:

Ich will eine Variable x = 0 auf 100 in einer-Schritten erhöhen. Das ganze soll jedoch in z.B. 3 Sekunden geschehen.

D.h. wenn man eine normale for oder while schreibt geht es zu schnell, die sind ratzfatz fertig. Leider gibt es die

Einschränkung, dass ich nicht die time.sleep()-Funktion verwenden kann. Ist sowas möglich? Wenn ja, wie?

Danke

Re: Variable erhöhen

Verfasst: Mittwoch 5. Januar 2011, 00:35
von BlackJack
@nahkillo: Warum willst Du das machen und warum gibt es die Einschränkung mit `time.sleep()`?

Re: Variable erhöhen

Verfasst: Mittwoch 5. Januar 2011, 06:13
von Jerry
klingt nach Hausaufgabe^^

Re: Variable erhöhen

Verfasst: Mittwoch 5. Januar 2011, 06:18
von DasIch
Du kannst ``select.select([], [], [], timeout)`` als Alternative zu `time.sleep()` nutzen, allerdings wird letzteres zumindest in CPython und PyPy eben mit `select` implementiert, von daher stellt sich die Frage ob man damit durch kommt.

Re: Variable erhöhen

Verfasst: Mittwoch 5. Januar 2011, 07:55
von lunar
@DasIch: Das funktioniert unter Windows nicht.

Die "Musterlösung" zu dieser offensichtlichen Hausaufgabe ist wohl einfach, sich den Zeitpunkt der letzten Erhöhung zu merken, und nur dann weiter zu erhöhen, wenn die gegebene Zeitspanne verstrichen ist. Das geht auch ohne "time.sleep()" oder irgendwelche "select()"-Magie.

Re: Variable erhöhen

Verfasst: Mittwoch 5. Januar 2011, 08:48
von JonasR
Ouh mann ich will auch Python in der Berufsschule machen... Wir machen nur Java -.-'

Re: Variable erhöhen

Verfasst: Mittwoch 5. Januar 2011, 08:51
von snafu
Vielleicht einfach mal nach "sleep alternative python" suchen. Dann sollte man auch relativ schnell auf die zu lunars Post passende Implementierung stoßen.

Re: Variable erhöhen

Verfasst: Donnerstag 6. Januar 2011, 21:44
von nahkillo
ok, danke Leute. Werde es mal mit der "Musterlösung" probieren.

Übrigens, keine Hausaufgabe! :D

Schön wärs, wir lernen Delphi!! :( So ein Scheiß!