Skip to content

Instantly share code, notes, and snippets.

@horstjens
Created May 20, 2023 14:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save horstjens/e2f84d8780396fc0a265a5c22c68c20b to your computer and use it in GitHub Desktop.
Save horstjens/e2f84d8780396fc0a265a5c22c68c20b to your computer and use it in GitHub Desktop.
pysimplegui tipptrainer german
import random
import time
import PySimpleGUI as sg
with open("german.txt") as myfile:
wörter = [wort.strip() for wort in myfile.readlines()]
#print(wörter)
layout = [
[sg.Text("mein Wort:"), sg.Text("abc", key="text1",
font=("Arial", 48),)],
[sg.Text("du tippst:"), sg.Multiline("abc", key="text2", font=("Arial", 48),
text_color="#0000FF", enable_events=True)],
[sg.Text("wie viele Wörter:"),
sg.Slider(range=(1,3), orientation="h",
key="slider1", default_value=4)],
[sg.Button("Clear", focus=False), sg.Button("Generate"), sg.Button("Exit")],
]
window = sg.Window("tipptrainer", layout, #return_keyboard_events=True,
size=(1700, 250))
text2 = ""
zeit_pro_wort = {}
startzeit = False
startposition = 0
geschafft = []
while True:
event, values = window.read()
if event in ("Exit", sg.WIN_CLOSED):
break
elif event == "Generate":
liste1 = []
geschafft = []
startposition = 0
for _ in range(int(values["slider1"])):
wort = random.choice(wörter)
liste1.append(wort)
text1 = " ".join(liste1)
window["text1"].update(text1)
window["text2"].update("")
text2 = ""
startzeit = time.time()
elif event == "Clear":
window["text2"].update("")
text2 = ""
elif event == "text2":
if startzeit:
print(liste1[0], window["text2"].get()[startposition:] )
if values["text2"][startposition:] == liste1[0]:
endzeit = time.time()
print("zeitdauer:", endzeit-startzeit)
geschafft.append(liste1[0])
if len(liste1) > 1:
liste1 = liste1[1:] # erstes element löschen
startposition = len(" ".join(geschafft))+1
startzeit = time.time()
window.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment