Python/Tkinker: Wieso liefert mein Reaktionstest immer die Reaktionszeit 0, ohne dass ich etwas drücke?
Ich bekomme immer Reaktionzeit: 0 gesagt, ohne etwas zu drücken. Weiß jemand, wieso das so ist?
from tkinter import *
import random
window = Tk()
window.title("Reaktionstest")
window.geometry("800x800")
window.configure(bg="white")
limit = 0
score = random.randint(9, 10)
reaction_time = 0
green = False
def verzögerung():
global score, limit, green
score -= 1
if score = limit:
# schedule next update 1 second later
window.after(1000, reaktion)
else:
green = False # Setze green auf False, wenn score kleiner oder gleich limit ist
show_end_screen()
def reaktion():
global green, reaction_time
if green:
reaction_time += 1
if rB.winfo_exists(): # Überprüfung, ob der Button noch existiert
rB.configure(bg="red")
print("Red")
else:
green = True
if rB.winfo_exists(): # Überprüfung, ob der Button noch existiert
rB.configure(bg="green")
print("Green")
def show_end_screen():
global reaction_time # Zugriff auf die globale Variable reaction_time
rB.destroy()
reaction_time_label = Label(window, text=f"Reaktionszeit: {reaction_time} Sekunden", bg="white", fg="black", font=("Arial", 24))
reaction_time_label.place(x=250, y=150)
ueberschrift = Label(window, text="Reaktionstest", bg="lightcyan", fg="black", font=("Arial", 44, "bold"))
ueberschrift.place(x=234, y=50)
rB = Button(window, bg="red", text="Drücke mich, wenn ich grün werde", font=("Arial", 10), command=reaktion)
rB.place(x=100, y=100, width=400, height=400)
limit = score # Setze limit auf den Wert von score
window.after(1000, verzögerung) # start the update 1 second later
window.mainloop()
Python,
Tkinter