Timer programmieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
fragezeichen123
User
Beiträge: 18
Registriert: Donnerstag 7. April 2016, 19:32

Hallo Forum,

hätte da mal eine Frage:

Wie kann man in Python einen Timer programmieren, sodass ich z.B. die Zeit 40 Sekunden angebe, und Python führt eine bestimmt Schleife für 40 Sekunden lang aus?

Das wäre dann [while not time= 0: ....]
aber wie macht man einen Timer?

Danke im Voraus für sämtliche Hilfe!
Sirius3
User
Beiträge: 18328
Registriert: Sonntag 21. Oktober 2012, 17:20

@fragezeichen123: da Zeiten selten exakt sind, wäre ein !=0 eine starke Einschränkung, weil eine Zeitdauer nie exakt 40 Sekunden sein wird. Man kann z.B. time.time benutzen:

Code: Alles auswählen

end_time = time.time() + 40
while time.time() < end_time:
    do_something()
fragezeichen123
User
Beiträge: 18
Registriert: Donnerstag 7. April 2016, 19:32

Da meldet er mir einen Attribute_Error: 'builtin_function_or_method' object has no attribute 'time'
BlackJack

@fragezeichen123: Dann überleg mal was Du an den Namen `time` gebunden hast und was Sirius3 wohl an diesen Namen gebunden haben könnte. :-)
fragezeichen123
User
Beiträge: 18
Registriert: Donnerstag 7. April 2016, 19:32

Bitte? Das "do something" habe ich natürlich durch mein Programm ersetzt... weiß erlich gesagt nicht ganz, was Du meinst?!
BlackJack

@fragezeichen123: Sirius3 hat das `time`-Modul importiert und Du hast die `time`-Funktion aus dem `time`-Modul importiert. Das `time`-Modul hat ein Attribut das `time` heisst (nämlich die Funktion) und die Funktion hat so ein Attribut nicht. Würde ja auch keinen Sinn machen das eine Funktion sich selbst noch mal als Attribut hat.
Antworten