Sekundentakt halten
Verfasst: Montag 24. November 2014, 12:47
Hallo, meine erste Frage hier 
Ich habe vor ein Programm zu schreiben, das im Wesentlichen im mehr oder weniger exakten Sekundentakt durchläuft. Wenn der Nutzer damit über eine GUI (Tkinter) interagiert, indem er Buttons drückt, sollen einige Berechnungen passieren. Wenn für einen bestimmten Prozess zuviel Zeit verstreicht, dann sollen eine Funktion sound() aufgerufen werden, in der ein paar winsound.Beep erzeugt werden etc.
Wie schaffe ich es aber diesen Sekundentakt aufrecht zu erhalten? Es muss ja nicht auf die Mikrosekunde stimmen. Aber wenn ich erstmal drei Sekunden lang winsound.Beep einfüge, dann zerhagelt mir das doch alles...
Im Wesentlichen also folgendes mit zwei Funktionen funk1() und funk2() und der Abfrage x == y. Die sound()-Funktion zerhagelt mir den Sekundentakt.
Kann man vielleicht über die Systemzeit arbeiten und alles daran aufhängen? Nach meinem Verständnis ist aber doch eine schlechte Idee den Abstand zweier floats miteinander zu vergleichen, z.B. x = time.time() und später: if time.time() == x + 1:
Bin sehr dankbar für Hilfestellung / Anregungen.
Ich habe vor ein Programm zu schreiben, das im Wesentlichen im mehr oder weniger exakten Sekundentakt durchläuft. Wenn der Nutzer damit über eine GUI (Tkinter) interagiert, indem er Buttons drückt, sollen einige Berechnungen passieren. Wenn für einen bestimmten Prozess zuviel Zeit verstreicht, dann sollen eine Funktion sound() aufgerufen werden, in der ein paar winsound.Beep erzeugt werden etc.
Wie schaffe ich es aber diesen Sekundentakt aufrecht zu erhalten? Es muss ja nicht auf die Mikrosekunde stimmen. Aber wenn ich erstmal drei Sekunden lang winsound.Beep einfüge, dann zerhagelt mir das doch alles...
Im Wesentlichen also folgendes mit zwei Funktionen funk1() und funk2() und der Abfrage x == y. Die sound()-Funktion zerhagelt mir den Sekundentakt.
Code: Alles auswählen
def sound(): winsound.Beep(440, 1000); winsound.Beep(880, 1000); winsound.Beep(440, 1000)
while True:
funkt1()
funkt2()
if x == y: sound()
print "whatever"
time.sleep(1)Bin sehr dankbar für Hilfestellung / Anregungen.