Python/Tkinker: Wieso liefert mein Reaktionstest immer die Reaktionszeit 0, ohne dass ich etwas drücke?

1 Antwort

Innerhalb der Funktion verzögerung hast du einen Syntaxfehler im if-Kopf.

if score = limit:

Vermutlich möchtest du beide Variablen miteinander vergleichen (andernfalls würde die vorherige Aktion keinen Sinn machen). Dafür brauchst du den Vergleichsoperator (==).

Da beide Variablen zu diesem Zeitpunkt nicht wertgleich sein können (die Variable score ist ja immer um 1 kleiner als limit), wird der else-Rumpf durchlaufen.

In show_end_screen erfolgt die Ausgabe der Reaktionszeit. Da die sich bis dahin nicht verändert hat, ist sie 0.

Diamondblow 
Fragesteller
 18.06.2023, 21:21

danke erstmal, macht Sinn. Hättest du eine Idee, wie ich das Problem des Vergleichsoperator lösen kann, bei score >=limit ist der gleiche Output

0
regex9  18.06.2023, 21:37
@Diamondblow

Die Variable score ist wie gesagt immer um 1 kleiner als limit. Im unteren Programmteil setzt du limit auf den gleichen Wert, in verzögerung subtrahierst du score um 1.

0