betaprojects / karteikarten.py
Lumosdev's picture
Upload 10 files
2ef45b1 verified
raw
history blame contribute delete
802 Bytes
import json
import random
DATEI = "karteikarten.json"
def lade_karteikarten():
with open(DATEI, "r", encoding="utf-8") as f:
return json.load(f)
def speichere_karteikarten(karten):
with open(DATEI, "w", encoding="utf-8") as f:
json.dump(karten, f, indent=2, ensure_ascii=False)
def naechste_karte(karten):
gewichtet = []
for karte in karten:
gewicht = 6 - karte["stufe"]
gewichtet += [karte] * gewicht
return random.choice(gewichted) if gewichtet else None
def verarbeite_antwort(karte, antwort_index, alle_karten):
korrekt = (antwort_index == karte["richtig"])
if korrekt:
karte["stufe"] = min(karte["stufe"] + 1, 5)
else:
karte["stufe"] = 1
speichere_karteikarten(alle_karten)
return korrekt, karte["stufe"]